[英]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.