我有哈希像這樣(的SOURCE.inspect
輸出)獲取數據:紅寶石 - 如何有效地從哈希根據值
[{:id=>"1", :day=>"Monday", :message=>"... text ..."}, {:id=>"2", :day=>"Friday", :name=>"... message ..."}, ...]
我需要獲取所有「項目」,其中天==星期一,但怎麼做? 我試過
SOURCE.select{|key, hash| hash[:day] == "Monday" }
但這是錯誤的......另外,文件是相當大的(幾乎文字1MB),什麼是在這個哈希搜索的最佳方式?
謝謝
我不認爲有任何其他的方式,但你正在使用。 – jvnill 2013-03-19 16:31:58
無論如何都要檢查每個項目? – Jokester 2013-03-19 16:38:11
根據散列中可能的值,您可以執行'SOURCE.select {| h | h.has_value? 「星期一」}'。我不把它作爲答案的原因是因爲它會在Hash中的任何地方拾取包含「Monday」的值作爲值。 – 2013-03-19 17:15:38