如何将值数组用作数组/散列路径?

A.V*_*rno 0 ruby arrays

即,我怎么来自这个:

path = [ 1, 3, 4, 5 ... ]
Run Code Online (Sandbox Code Playgroud)

对此:

my_array[1][3][4][5]...
Run Code Online (Sandbox Code Playgroud)

path阵列的长度未知.

Nil*_*ndt 8

您可以使用新的(Ruby 2.3)dig方法,如下所示:

my_array.dig(1, 3, 4, 5)
Run Code Online (Sandbox Code Playgroud)

或者传递你的splatted数组:

path = [1, 3, 4, 5]
my_array.dig(*path)
Run Code Online (Sandbox Code Playgroud)