ruby学習メモ

イテレータ

each
irb(main):006:0> [ 1,2,3,4,5].each {|i| puts i}
1
2
3
4
5
=> [1, 2, 3, 4, 5]
collect

配列を作成してくれる

irb(main):008:0* [ 1,2,3,4,5].collect {|i| puts i ;  i + 1 }
1
2
3
4
5
=> [2, 3, 4, 5, 6]
ファイル内容出力
f = File.open("Rakefile")
f.each do |line|
  puts line
end
f.close
inject

sum に前回の計算結果が保持され、次のイテレーション時に参照できる。
引数として渡した値が sum の初期値となる。

irb(main):023:0> [1,3,5,7].inject      {|sum, element| sum + element}
=> 16
irb(main):024:0> [1,3,5,7].inject(100) {|sum, element| sum + element}
=> 116