2012-10-30 45 views
0
數組紅寶石找到的東西

我努力學習Ruby和我有以下代碼在哈希

a[0]={ :artist => 'Green Day', 
          :name => 'Song1', 
                :bitrate => 192 } 
a[1]={ :artist => 'U2', :name => 'Song2' } 
a[2]={:artist => 'Metallica', :name => 'Battery' } 

我的問題是我怎麼這樣的陣列中找到Metallica的所有歌曲,例如?謝謝! :)

編輯:好吧,另一個新手問題?我怎樣才能在他們的標題中找到包含特定序列的歌曲?

我想:

a.find { |x| x[:song].include? 'Song' } 

但它返回一個錯誤。

回答

2
a.select { |song| song[:artist] == 'Metallica' } 

,併爲您的第二個問題

a.select { |song| song[:name].include? 'Song' } 
-1
Employee.where("artist = ?", "Metallica") 

返回就像陣列的環連接的範圍對象。

+3

沒有證據證明這裏的人使用Rails。 –

8

您可以使用select方法

a.select {|c| c[:artist] == 'U2'} 
+4

這不會找到太多的Metallica歌曲... – steenslag