我知道我可以用Ruby做到这一点:
['a', 'b'].map do |s| s.to_sym end
Run Code Online (Sandbox Code Playgroud)
得到这个:
[:a, :b]
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种更简洁的方法,而不使用块.不幸的是,这不起作用:
['a', 'b'].map #to_sym
Run Code Online (Sandbox Code Playgroud)
我可以比初始代码更好吗?
Pre*_*ids 12
阅读一下Symbol#to_proc:
['a', 'b'].map(&:to_sym)
# or
['a', 'b'].map &:to_sym
# Either will result in [:a, :b]
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Ruby 1.8.7或更高版本,或者如果您使用的是Rails,则可以使用它 - ActiveSupport将为您添加此功能.