zz Ruby迭代器each、map、collect、inject_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > zz Ruby迭代器each、map、collect、inject

zz Ruby迭代器each、map、collect、inject

 2011/9/5 8:11:16  zj0713001  http://zj0713001.iteye.com  我要评论(0)
  • 摘要:each——连续访问集合的所有元素collect—-从集合中获得各个元素传递给block,block返回的结果生成新的集合。map——-同collect。inject——遍历集合中的各个元素,将各个元素累积成返回一个值。defdebug(arr)puts'--------'putsarrendh=[1,2,3,4,5]h1=hh1.each{|v|putssprintf('valuesis:%s',v)}h2=h.collect{|x|[x,x*2]}debugh2h3=h.map{|x
  • 标签:Map Ruby
each——连续访问集合的所有元素
collect—-从集合中获得各个元素传递给block,block返回的结果生成新的集合。
map——-同collect。
inject——遍历集合中的各个元素,将各个元素累积成返回一个值。

def debug(arr)
    puts '--------'
    puts arr
end
 
h = [1,2,3,4,5]
h1 = h
h1.each{|v|puts sprintf('values is:%s',v)}
 
h2 = h.collect{|x| [x,x*2]}
debug h2
 
h3 = h.map{|x| x*3 }
debug h3
 
h4 = h.inject{|sum,item| sum+item}
debug h4    


结果:
values is:1
values is:2
values is:3
values is:4
values is:5
--------
1
2
2
4
3
6
4
8
5
10
--------
3
6
9
12
15
--------
15
发表评论
用户名: 匿名