- 162 名前:uy mailto:sage [2012/08/15(水) 16:52:58.51 ]
- rubyで一番よく使うのはmap、これは戻り値に配列を返す
普通に書いたら p [1,2,3].map { |x| x*2 } # => [2, 4, 6] だけど、メソッド(イテレータ)チェインする事によって、本来配列を返さない each_with_indexなども p [1,2,3].each_with_index { |x,i| x*(2+i) } # => [1, 2, 3] mapを置く事による戻り値を変えられる p [1,2,3].each_with_index.map { |x,i| x*(2+i) } # => [2, 6, 12] これをforで書くとこう s = [] i = 0 for x in [1,2,3] s << x*(2+i) i += 1 end p s for文とイテレータじゃ力の差が有りすぎて異論の余地すらない
|

|