无法理解select
和collect
方法之间的区别。也想知道何时使用每个。
答案 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]