当前位置: 代码迷 >> 综合 >> Ruby中的each collect map inject
  详细解决方案

Ruby中的each collect map inject

热度:46   发布时间:2023-12-09 08:22:41.0



说明:  
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! 

  相关解决方案