我正在處理一個未排序的哈希數組,其中數組中的哈希順序並不重要。每個散列都有一個:id
主鍵,用於在數組中找到它。這個系統的設計超出了我的控制範圍。Ruby:修改哈希數組最常用的方法是?
我必須設計一個讀 - 修改 - 寫系統:在陣列內:
仰望哈希(ID通過)。
對散列中的其他鍵執行修改。
將此散列保存回數組。
現在,這並不難,做到這一點,並得到它的工作。但是什麼是紅寶石的答案?
謝謝!
我正在處理一個未排序的哈希數組,其中數組中的哈希順序並不重要。每個散列都有一個:id
主鍵,用於在數組中找到它。這個系統的設計超出了我的控制範圍。Ruby:修改哈希數組最常用的方法是?
我必須設計一個讀 - 修改 - 寫系統:在陣列內:
仰望哈希(ID通過)。
對散列中的其他鍵執行修改。
將此散列保存回數組。
現在,這並不難,做到這一點,並得到它的工作。但是什麼是紅寶石的答案?
謝謝!
a = [{id: 1, x: :y}, {id: 2, x: :z}, ...]
仰望ID 2
:
a.find{|h| h[:id] == 2} # => {:id=>2, :x=>:z}
爲:x
屬性更改值ID 2
:
a.find{|h| h[:id] == 2}[:x] = :w
你說的「執行修改散列內** **其他鍵」是什麼意思? – sawa
這聽起來像你想要的數據結構是一個哈希而不是一個數組。 – Chuck
@Chuck確實。但它說:「這個系統的設計超出了我的控制範圍。」 – sawa