访问由键数组指定的嵌套哈希元素

时间:2013-08-15 11:08:06

标签: ruby arrays hash

我试图获得一个通用的解决方案来解决在给定一组键值的情况下访问嵌套哈希中的元素的问题,例如:

hash = { "a" => { "b" => 'foo' }}
array = ["a", "b"]

function(array)
=> "foo"

我猜这可能是一个单行。它也与这个问题密切相关: Ruby convert array to nested hash

1 个答案:

答案 0 :(得分:11)

hash = { "a" => { "b" => 'foo' }}
array = ["a", "b"]

array.inject(hash,:fetch)
# => "foo"
array.inject(hash,:[])
# => "foo"