each: 顺序返回各个元素
collect: 把原数组的各个元素顺序返回,并组装新的数组
map: 与 collect一样,会创建一个新的数组
select: 与collect一样,会创建一个新的数组
1 2 3 4 5 6 | list = ( 1 .. 10 ).to_a p list p list.collect { |i| i >= 3 && i <= 7 } p list.map { |i| i >= 3 && i <= 7 } p list.select { |i| i >= 3 && i <= 7 } |
结果
所有的方法都有相似之处就是都用了一个block 参数,map和collect方法都返回了一个数组中的item通过计算返回的值,而select方法则返回了通过迭代数组中的item计算出的结果为true的值。