N回injectしたいとき(数値型からinject) Jul 11th, 2013 2012-04-24 - なんとなく日々徒然との日記からの焼きまわし感半端ない 1 10.times.inject(0) {|sum, (i, j)| sum + i } # => 0から9までを足して、結果は45 上記を1から10足して55にしたい場合(つまり1始まりにしたい) とりあえずこうしてみる 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 10.times.with_index(1).inject(0) {|sum, i| p i } # => [0, 1] [1, 2] [2, 3] [3, 4] [4, 5] [5, 6] [6, 7] [7, 8] [8, 9] [9, 10] [ [0] 9, [1] 10 ] ふむ。 展開させます 1 10.times.with_index(1).inject(0) {|sum, (times_count, index_count)| sum + index_count } # => 55