zz Ruby迭代器each、map、collect、inject
each——连续访问集合的所有元素
collect—-从集合中获得各个元素传递给block,block返回的结果生成新的集合。
map——-同collect。
inject——遍历集合中的各个元素,将各个元素累积成返回一个值。
def debug(arr) puts '--------' puts arrend h = [1,2,3,4,5]h1 = hh1.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