使用一个数组在Ruby中建立索引

时间:2019-09-14 17:00:42

标签: arrays ruby

我正在尝试学习Ruby,但我想知道如何将数组用于索引另一个数组,例如

在Perl中,这是manage.py: command not found,其中所有三个变量都只是通用数组。

如何在Ruby中完成相同的工作?

1 个答案:

答案 0 :(得分:5)

如果我没有记错我的Perl,则给出:

my @ro = ('a', 'b', 'c', 'd', 'e');
my @y  = (1, 3);

然后@ro[@y]将是('b', 'd'),因此表示法只是在@ro的索引处提取数组@y的所有元素的一种简写形式。

在Ruby中,我将因此使用Array#values_at和splat:

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)