我正在尝试学习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)

*ysplat展开数组并给出其元素,因此在本例中ro.values_at(*y)等同于ro.values_at(1, 3)

关于arrays - 在Ruby中使用一个数组索引另一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57937579/

10-11 00:27