【发布时间】:2013-03-20 00:35:56
【问题描述】:
我有这样的哈希(SOURCE.inspect 的输出):
[{:id=>"1", :day=>"Monday", :message=>"... text ..."}, {:id=>"2", :day=>"Friday", :name=>"... message ..."}, ...]
我需要获取 day == Monday 的所有“项目”,但该怎么做呢? 我试过了
SOURCE.select{|key, hash| hash[:day] == "Monday" }
但这是错误的......另外,文件很大(将近 1MB 的文本),在这个哈希中搜索的最佳方法是什么?
谢谢
【问题讨论】:
-
我认为除了您当前使用的方法之外没有其他方法。
-
还是要检查每个项目?
-
根据哈希中可能的值,您可以使用
SOURCE.select {|h| h.has_value? "Monday" }。我不把它作为答案的原因是因为它会在Hash的任何地方提取包含“星期一”作为值的任何哈希。
标签: ruby search hash key-value