我想與行的代碼#真正有效,所以我想下面的代碼兩行合併:Ruby如何將元素添加到元素來散列,返回散列?
my_hash["X"] = value
my_hash
如果我拿出的第二行,然後我的函數將返回錯誤的事情因爲它只會返回散列的一個元素。有什麼方法可以將元素添加到將返回整個散列的散列?提前致謝!
我想與行的代碼#真正有效,所以我想下面的代碼兩行合併:Ruby如何將元素添加到元素來散列,返回散列?
my_hash["X"] = value
my_hash
如果我拿出的第二行,然後我的函數將返回錯誤的事情因爲它只會返回散列的一個元素。有什麼方法可以將元素添加到將返回整個散列的散列?提前致謝!
做如下使用merge!
:
my_hash.merge!("X" => value)
tap
將產生對象塊,然後返回它:
my_hash.tap { |h| h['X'] = value }
注意,減小的代碼行減少的代碼行的目的不僅降低了目的的可讀性和清晰度,它很少改善了代碼質量。
my_hash.merge!({ 'X' => value })
可以省略括號。 – sawa
不是括號。大括號。 – sawa
是的,Ruby會把它當作哈希..好點.. :-) –