来自集合的ruby pick(select)指数

时间:2013-04-17 06:51:43

标签: ruby enumerable

我有一个数组a。我想构建一个新的数组,其中挑选出一个或多个元素。生成的数组应如下所示:

 [a[5], a[7], a[8]]

如何通过传递索引[5,7,8]数组来进行此选择?我想象的是:

 b = a.select([5,7,8])

哪个不起作用; select需要一个块来评估。我可以枚举数组并手动选择,但我觉得这应该可以更优雅。

1 个答案:

答案 0 :(得分:3)

使用Array#values_at

b = a.values_at(*[5,7,8])