我试图获得一个通用的解决方案来解决在给定一组键值的情况下访问嵌套哈希中的元素的问题,例如:
hash = { "a" => { "b" => 'foo' }}
array = ["a", "b"]
function(array)
=> "foo"
我猜这可能是一个单行。它也与这个问题密切相关: Ruby convert array to nested hash
答案 0 :(得分:11)
hash = { "a" => { "b" => 'foo' }}
array = ["a", "b"]
array.inject(hash,:fetch)
# => "foo"
array.inject(hash,:[])
# => "foo"