我有这样的散列(输出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 {|x| x[:day] == "Monday" }

关于ruby - Ruby-如何根据值从哈希有效地获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15505126/

10-11 17:16