Main image
23rd May
2009
written by cashplk

看到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]
Tags: ,

Leave a Reply

Powered by WP Hashcash

Spam Protection by WP-SpamFree