2011-04-18 58 views
6

我有紅寶石對象的數組,看起來是這樣的:最Rubyish方式獲取包含對象數組的特定值的數組?

[#<email: "someemail" other_properties: "SDFDF">, #<...>, #<...>] 

陣列中的每個對象都有一個email屬性。我想獲得數組中所有ruby對象的所有電子郵件屬性的新數組。

執行的代碼後,我將有一個看起來像這樣的數組:

["[email protected]", "[email protected]", ...] 

我新的紅寶石,並希望這樣做能夠以最rubyish方式。

我的問題是,在ruby中做這件事的最好方法是什麼?

回答

16

可以使用map方法塊應用到陣列中的每個元素,返回一個包含每個調用的結果,一個新的數組:

somearray.map {|x| x.email} 
+0

謝謝!這正是我所追求的。我會盡快讓我接受。 :) – Alex 2011-04-18 20:24:19

+8

在Ruby 1.87+中,你可以簡化爲'somearray.map(&:email)' – Phrogz 2011-04-18 20:38:01

相關問題