ruby使用地址数组访问subhash链

xxj*_*jnn 2 ruby hash

让我们说:

a = { b:1 , c: { d:2, e:3 } }
address = [:c, :e]
Run Code Online (Sandbox Code Playgroud)

可以访问3

a[ address[0] ][ address[1] ]
Run Code Online (Sandbox Code Playgroud)

但这不灵活,我希望能够采用任意地址数组并通过哈希来完成它.

是否有一种优雅的方式来做或者我需要编写一个递归方法?RubyDoc的Fetch如果它接受了一个数组就会很棒.

Uri*_*ssi 5

a = { b:1 , c: { d:2, e:3 } }
address = [:c, :e]
address.inject(a, :[])
# => 3
Run Code Online (Sandbox Code Playgroud)