我希望有一个函数,能够接收像
[:a, :b, :c]
这样的数组,并递归设置哈希键,随着操作的进行创建所需要的内容。hash = {}
hash_setter(hash, [:a, :b, :c], 'value')
hash #=> {:a => {:b => {:c => 'value' } } }
hash_setter(hash, [:a, :b, :h], 'value2')
hash #=> {:a => {:b => {:c => 'value', :h => 'value2' } } }
我知道Ruby 2.3的dig
可以用于这种方式的获取,但那还不足以得到答案。如果有一个等效于dig的setter就是我所寻找的。