Feature #13314
Updated by nobu (Nobuyoshi Nakada) over 7 years ago
We have `Hash#dig`, and when we want to assign a key-value at a deep level, it is tempting to do: ```ruby hash.dig(:key1, :key2, :key3, :key4) = "value ``` when we actually needed to do: ```ruby hash.dig(:key1, :key2, :key3)&.[]=(:key4, "value") ``` I propose a method `Hash#dig=`, which should be equivalent to the following: ```ruby ``` class Hash def dig=(*keys, final_key, value) dig(*keys)&.[](final_key, value) end end ```