我正在尝试学习ruby,我想知道如何使用数组来索引另一个数组,例如,
在Perl中,这是:my @x = @y[@ro]
,其中所有三个变量都只是泛型数组。
我怎样才能在ruby中完成同样的事情呢?
最佳答案
如果我正确地记住了我的perl,那么:
my @ro = ('a', 'b', 'c', 'd', 'e');
my @y = (1, 3);
那么
@ro[@y]
就是('b', 'd')
所以这个符号只是在@ro
中的索引处提取数组@y
的所有元素的一个简短形式。在Ruby中,我会使用
Array#values_at
和splat thully:ro = %w[a b c d e]
y = [1, 3]
x = ro.values_at(*y)
*y
splat展开数组并给出其元素,因此在本例中ro.values_at(*y)
等同于ro.values_at(1, 3)
。关于arrays - 在Ruby中使用一个数组索引另一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57937579/