0

Rubyを学習しようとしていますが、次のコードがあります

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

私の質問は、たとえば、メタリカのすべての曲をそのような配列でどのように見つけることができるのでしょうか? ありがとうございました!:)

編集:わかりました、別の初心者の質問ですか?タイトルに特定のシーケンスを含む曲を見つけるにはどうすればよいですか?

私は試した:

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

しかし、それはエラーを返します。

4

3 に答える 3

8

selectメソッドを使用できます

a.select {|c| c[:artist] == 'U2'}
于 2012-10-30T21:30:05.380 に答える
2
a.select { |song| song[:artist] == 'Metallica' }

2番目の質問について

a.select { |song| song[:name].include? 'Song' }
于 2012-10-30T21:31:57.883 に答える
-1
Employee.where("artist = ?", "Metallica")

配列のように機能するチェーン可能なスコープ オブジェクトを返します。

于 2012-10-30T21:29:34.983 に答える