1

私はこのようなハッシュを持っています(の出力SOURCE.inspect):

[{:id=>"1", :day=>"Monday", :message=>"... text ..."}, {:id=>"2", :day=>"Friday", :name=>"... message ..."}, ...]

day == Mondayのすべての「アイテム」を取得する必要がありますが、どうすればよいですか? 私はもう試した

SOURCE.select{|key, hash| hash[:day] == "Monday" }

しかし、これは間違っています...また、ファイルは非常に大きいです (ほぼ 1MB のテキスト)。このハッシュで検索する最良の方法は何ですか?

ありがとうございました

4

2 に答える 2

3

select配列で単一の要素を取得します-あなたの場合はハッシュです。したがって、次のようにすることができます。

SOURCE.select { |hash| hash[:day] == "Monday" }
于 2013-03-19T16:35:56.287 に答える
3
SOURCE.select {|x| x[:day] == "Monday" }
于 2013-03-19T16:32:39.790 に答える