2013-01-09 14 views
1

紅寶石哈希迭代我有一個Ruby散列a如下:沒有`each`

a = { 
     "module" => 'students', 
     "data" => [ 
     { 
      "age" => 12, 
      "uid" => 'sd3wrew' 
     }, 
     { 
      "age" => 10, 
      "uid" => '43e43r' 
     }, 
     { 
      "age" => 10, 
      "uid" => 'ft34f' 
     } 
     ] 
    } 

我想收集從上面的散列所有uid並得到這樣一個數組:

b = ['sd3wrew', '43e43r', 'ft34f'] 

如此,我有代碼來做到這一點,通過它循環。

b = [] 
a['data'].each do |e| 
    b << e['uid'] 
end 

反正有沒有做到這一點的結果,而不循環each和簡潔得多?

回答

-2

這將打印在哈希每個鍵如果key等於與uid

b = a["data"].each_key { |e| print e if e='uid' } 
+0

這是不是仍在使用迭代?我以爲海報是沒有它的要求... – sunnyrjuneja

+0

這個問題說得很簡潔。我厚實這個很簡潔! –

+0

爲什麼是否定的投票? –

相關問題