ruby 从集合中挑选(选择)索引

标签 ruby enumerable

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

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

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

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

这是行不通的; select 需要一个 block 来计算。我可以枚举数组并手动选择,但我觉得这应该更优雅。

最佳答案

使用Array#values_at

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

关于ruby 从集合中挑选(选择)索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16053412/

相关文章:

c# - LINQ IEnumerable 在底层是如何工作的?

ruby - Array#each 与 Array#map

wpf - 当itemsource在某些计算机上可查询或可枚举时,Datagrid不会生成列

ruby - resque-scheduler 在作业删除时失败

ruby - 如何使用 ANSI 转义序列在 bash 中捕获终端窗口的标题?

ruby - 无法使用 premailer-rails 加载邮件中的图像

javascript - 如何在 JavaScript 中为 IE8 添加不可枚举的属性?

ruby-on-rails - 从 GemCutter 中移除 gem

ruby - Chef + rbenv : "rbenv: no such command ' install'"despite ruby-build being installed

ruby-on-rails - rails - 使用 Group_by 时 - 如何获取索引?