我知道我可以在Ruby中做到這一點:如何在不使用塊的情況下在Ruby中計算'map'?
['a', 'b'].map do |s| s.to_sym end
,並得到這個:
[:a, :b]
我正在尋找一種更簡潔的方式來做到這一點,而不使用塊。不幸的是,這是行不通的:
['a', 'b'].map #to_sym
我可以比初始代碼做得更好嗎?
我知道我可以在Ruby中做到這一點:如何在不使用塊的情況下在Ruby中計算'map'?
['a', 'b'].map do |s| s.to_sym end
,並得到這個:
[:a, :b]
我正在尋找一種更簡潔的方式來做到這一點,而不使用塊。不幸的是,這是行不通的:
['a', 'b'].map #to_sym
我可以比初始代碼做得更好嗎?
閱讀一些關於Symbol#to_proc:
這工作,如果你使用Ruby 1.8.7或更高版本,或者如果您正在使用Rails - 的ActiveSupport將增加這功能爲你。
['a', 'b'].map(&:to_sym)
較短
它也適用於1.8.7。 1.8.7(main):0> RUBY_DESCRIPTION =>「ruby 1.8.7(2011-06-30 patchlevel 352)[x86_64-linux]」 1.8.7(main):0> ['a','b '] .map(&:to_sym) => [:a,:b] – lucapette
lucapette:是的,我做了一個快速編輯來添加/修復一些信息。 – PreciousBodilyFluids
是的,我看到了。你知道,在所有這些實現中,我都遇到了記憶問題。當我讀到你的回覆時,我去檢查,我記得很清楚;) – lucapette