Ruby中的each collect map inject

来源:互联网 发布:绝地求生怎么优化fps 编辑:程序博客网 时间:2024/06/04 18:32



说明:  
each——连续访问集合的所有元素  
collect—-从集合中获得各个元素传递给block,block返回的结果生成新的集合。  
map——-同collect。  

inject——遍历集合中的各个元素,将各个元素累积成返回一个值。 


arr = [1,2,3] 
1) arr2 = arr.each{|element| element = element * 2} #arr与arr2仍然都等于[1,2,3]   each返回原数组 遍历内对元素的更改不会保存 
2) arr2 = arr.map{|element| element = element* 2} #arr等于[1,2,3] arr2等于[2,4,6] map返回更改后的数组 遍历内对元素的更改不会保存 
3) arr2 = arr.map!{|element| element = element * 2} #arr与arr2都等于[2,4,6] map!返回更改后的数组 遍历对元素内的更改会保存 
collect 效果等于 map 
collect! 效果等于map! 

0 0
原创粉丝点击