Ruby在哈希数组中查找某些东西

Cas*_*urr 0 ruby arrays hash find

我正在尝试学习Ruby,我有以下代码

 a[0]={ :artist => 'Green Day',
                          :name => 'Song1',
                                                   :bitrate => 192 }
 a[1]={ :artist => 'U2', :name => 'Song2' }
 a[2]={:artist => 'Metallica', :name => 'Battery' }
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在这样的阵列中找到Metallica的所有歌曲?谢谢!:)

编辑:好的,另一个新手问题?如何在标题中找到包含特定序列的歌曲?

我试过了:

a.find { |x| x[:song].include? 'Song' }
Run Code Online (Sandbox Code Playgroud)

但它返回一个错误.

小智 8

你可以使用select方法

a.select {|c| c[:artist] == 'U2'}
Run Code Online (Sandbox Code Playgroud)