Ruby中map, collect,each,select,reject,reduce的区别
2017-04-26 10:07
483 查看
#map针对每个element进行变换并返回整个修改后的数组 defmap_method arr1=["name2","class2"] arr1.map{|num|num+"and"} print"map====",arr1,"\n" end defmap1_method arr1=["name2","class2"] arr1.map!{|num|num+"and"} print"map!====",arr1,"\n" end defmap2_method arr1=["name3","class3"] #&:表示item arr2=arr1.map(&:upcase) print"map2====",arr2,"\n" end #reduce把array变换为一个值后返回 defreduce_method arr1=["a","b","c","d"] arr2=arr1.reduce(:+) print"reduce====",arr1,"\n" print"reduce====",arr2,"\n" end defreduce_method2 sum1=(1..100).reduce(:+) sum2=(1..100).reduce(0)do|sum,value| sum+value end print"reducesum1====#{sum1}\n" print"reducesum2====#{sum2}\n" end #select根据条件返回一个子集 defselect_method arr=(1..8).select{|x|x%2==0} print"select====",arr,"\n" end #reject根据条件提出一个子集 defreject_method arr=(1..8).reject{|x|x%2==0} print"reject====",arr,"\n" end #each遍历数组每个元素,但不生成新的数组 defeach_method arr1=["name2","class2"] arr2=arr1.each{|num|num+"and"} print"each====",arr2,"\n" end #collect同map一样,collect!同map!一样 defcollect_method arr1=["name2","clas2"] arr2=arr1.collect{|num|num+"and"} print"collect====",arr2,"\n" end
相关文章推荐
- Ruby中map,reduce,reject,select,collect,each使用介绍
- ruby , each,map,collect,inject,reject,select,shuffle[n..m],flatten
- ruby on rails 里pluck和select(map、collect)的区别
- Ruby中的map, reduce, select, reject, group_by理解
- Ruby中的map, reduce, select, reject, group_by理解
- ruby on rails 里pluck和select(map、collect)的区别
- ruby 中each, map和collect的区别
- Ruby中each,map,collect,inject对比
- Ruby之map、each、collect、map!、collect!揭秘
- Ruby之旅(17) each,collect map collect! map!
- 用代码说话: 比较ruby和scala的集合操作each map filter reduce
- ruby中的join,split,send,map,each,collect,inject方法总结
- Jquery 中map和each的区别
- Python中Lambda, filter, reduce and map 的区别
- Ruby中使用each和collect进行迭代的用法
- Ruby中使用each和collect进行迭代的用法
- 如何形象地解释 JavaScript 中 map、foreach、reduce 间的区别?
- python中的高阶函数map(),reduce(),filter()的区别
- 如何形象地解释 JavaScript 中 map、foreach、reduce 间的区别?
- 如何形象地解释 JavaScript 中 map、foreach、reduce 间的区别?