将int数组映射到嵌套数组访问

时间:2013-02-27 19:53:08

标签: ruby

有没有办法使用索引自动存储在数组中来动态访问嵌套数组?

主阵列/矩阵嵌套可以是可变的,例如2,4,100。

示例:

my_array = [
  [[1,  2], [3,   4]],
  [[5,  6], [7,   8]],
  [[9, 10], [11, 12]]
]

my_array.access_using_array([0, 1, 1])
  => 4

2 个答案:

答案 0 :(得分:7)

[0, 1, 1].inject(my_array, :fetch)
# => 4

答案 1 :(得分:1)

Ruby 2.3.0在HashArray上引入了a new method called dig来解决此问题。

如果在任何嵌套级别缺少某个元素,则返回nil

my_array.dig(0,1,1)