先日対応してコードに 後置 while が使われていたので、挙動が把握できず調べてみたのでここにメモします。
コード
def sample i = 0 begin foo = 10 puts ("sample:#{i}") i += 1 end while i < foo end
実行
irb(main):054:0> sample sample:0 sample:1 sample:2 sample:3 sample:4 sample:5 sample:6 sample:7 sample:8 sample:9 => nil
気がついたこと
- while は必ず1回は実行されて変数が定義される
- 条件に合わなくても一回は実行される
- begin が例外をキャッチの構文ではなさそう