我與嵌套哈希玩弄,我試圖找出如何時,我的哈希是一個嵌套一個獲取多個密鑰:如何使用嵌套散列獲取多個散列鍵?
imahash = { :id => { :name => "Alma", :email => "[email protected]" },
:stats => { :gender => "Female" },
:location => { :city => "Freeport", :state => "Maine" }
}
我知道如何檢索嵌套的值,並鍵入哈希名稱將轉儲所有的鍵和值。但我想要做的是獲取特定的鍵,例如:name和:gender only。或者:名稱和:僅限城市。
這可能嗎?因爲從我發現的情況來看,你似乎只能一次檢索一個鍵或一次檢索所有鍵的散列值。
我所需的輸出會是這樣的:
=> { :id => { :name => "Alma" }, :location => { :city => "Freeport" } }
是啊,如果一個元組是什麼,我認爲這是(?只是一個有序列表右側) ,然後創建一個新的數組(或在mportiz的答案,一個新的)有效。出於興趣,有沒有辦法在不創建新散列/數組的情況下獲取輸出? – Murmur
如果您創建一個函數來接收用於導航嵌套散列(類似於xml文檔的xpath)的「散列路徑」數組,則只能引用imahash一次。我懷疑你可以不創建一個新的散列/數組。如果你要求效率的原因,這是過早優化恕我直言。 – peakxu
好的,我明白了。是的,我主要是出於提高效率的原因。這說明了一切,謝謝。 – Murmur