选择和收集之间的区别

时间:2014-10-12 09:47:22

标签: ruby

无法理解selectcollect方法之间的区别。也想知道何时使用每个。

1 个答案:

答案 0 :(得分:4)

Enumerable#collect(或Enumerable#map)会返回对每个项目应用块的结果。

[1, 2, 3, 4].collect { |x| x > 2 }
# => [false, false, true, true]

虽然Enumerable#select返回过滤项目数组:

[1, 2, 3, 4].select { |x| x > 2 }
# => [3, 4]