簡體   English   中英

使用一個數組在Ruby中建立索引

[英]Using one array to index another in Ruby

我正在嘗試學習Ruby,但想知道如何將數組用於索引另一個數組,例如,

在Perl中,這是: my @x = @y[@ro] ,其中所有三個變量都是通用數組。

如何在Ruby中完成同一件事?

如果我沒有記錯我的Perl,請給出:

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

然后@ro[@y]將是('b', 'd')因此表示法只是在@y的索引處提取數組@ro所有元素的一種簡寫形式。

在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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM