Archive

Posts Tagged ‘Alex’

对于inject的使用

May 23rd, 2009 cashplk No comments

看到AlexAlex学Ruby[ inject需要注意的地方 ] ,节选部分如下:

inject([]) do |item ,i |这样的写法,每一步,item都会被设置为block的返回值。

如下:

1
2
3
4
5
6
7
8
9
    arr1 = []
    arr2 = [1,2,3]  
 
    arr2.each do |i|
        arr1 <<  i+1
    end
 
    p arr1
    #=> [2, 3, 4]

使用inject,则可以写为:

1
2
3
4
5
6
7
8
    arr2 = [1,2,3]
 
    arr = arr2.inject([]) do|arr1, i|
        arr1 << i + 1 
    end
 
     p arr1
     #=>[2,3,4]
Categories: Ruby Tags: ,

cashplk的心路历程 is Digg proof thanks to caching by WP Super Cache