times によるループ

予習したから 「do ... end または { ... } で囲まれたコードの断片 (ブロックと呼ばれる)」ってことは知ってるもんね。
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%A5%E1%A5%BD%A5%C3%A5%C9%B8%C6%A4%D3%BD%D0%A4%B7#a.a5.d6.a5.ed.a5.c3.a5.af.c9.d5.a4.ad.a5.e1.a5.bd.a5.c3.a5.c9.b8.c6.a4.d3.bd.d0.a4.b7

だから今の僕のイメージでは、5というオブジェクトのtimesメソッドにブロックを渡すっていうのは、こんな感じの方が分かり易い。

5.times
  do |n|
    puts n
  end

実行してみたら・・うげ、syntax errorだ。

test.rb:2: syntax error
  do |n|
5.times do
  |n|
  puts n
end

ならOK。do〜endではなく{...}でも試したけど同じですね。 doあるいは{ はtimesと同じ行にないとダメなのね。