46748


もしかしたら過去の質問等で出ているのかもしれませんが、見つけきれないので質問させて頂きます。  
hashという結果が以下のように複数のハッシュで返ってきた場合に、目的のハッシュリテラルのみを表示したいのですがなかなか上手くいきません。

[code]

    array = {"symbol"=>"X", "value"=>"Y", "examle"=>"Z"},
            {"symbol"=>"A", "value"=>"S", "examle"=>"D"},
            {"symbol"=>"L", "value"=>"K", "examle"=>"J"},
                                 .
                                 .
                                 .
            {"symbol"=>"M", "value"=>"N", "examle"=>"B"},
    
[/code]

このような場合、["symbol" => "L"] のハッシュリテラルの{"symbol"=>"L", "value"=>"K",
"examle"=>"J"} を検索したい場合はどのようにすればいいのでしょうか。

[code]

    array.each do |hash|
      p hash["symbol"]
    end
    
[/code]

などでsymbolのみを全て表示してそこから検索などはなんとか出来たのですが、もっと上手く検索できないものかな思い質問させてい頂いています。  
お願いします。


CC BY-SA 4.0
2018-07-20T00:41:26.863
46747
2018-07-20T01:04:12.710
2018-07-20T00:56:49.553
29382
29382
question
ruby
複数のハッシュリテラルから目的のハッシュを検索

[code]

    array.select { |h| h['symbol'] == 'L' }
    
[/code]

ruby では、コレクションっぽいものは、 [Enumerable](https://docs.ruby-
lang.org/ja/latest/class/Enumerable.html) を include しています。

select は、ブロックの戻り値が真になるものだけを選択するメソッドです。


CC BY-SA 4.0
2018-07-20T01:04:12.710
46748
2018-07-20T01:04:12.710
754
46747
answer