2011-09-05 37 views
10

我知道我可以在Ruby中做到這一點:如何在不使用塊的情況下在Ruby中計算'map'?

['a', 'b'].map do |s| s.to_sym end 

,並得到這個:

[:a, :b] 

我正在尋找一種更簡潔的方式來做到這一點,而不使用塊。不幸的是,這是行不通的:

['a', 'b'].map #to_sym 

我可以比初始代碼做得更好嗎?

回答

11

閱讀一些關於Symbol#to_proc

這工作,如果你使用Ruby 1.8.7或更高版本,或者如果您正在使用Rails - 的ActiveSupport將增加這功能爲你。

+0

它也適用於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

+0

lucapette:是的,我做了一個快速編輯來添加/修復一些信息。 – PreciousBodilyFluids

+0

是的,我看到了。你知道,在所有這些實現中,我都遇到了記憶問題。當我讀到你的回覆時,我去檢查,我記得很清楚;) – lucapette

相關問題