ブロックの作り方 (もう少し)

もう少しブロックについて、メソッドにブロックを渡されなかったらどうなるかというメモを。


上のtwo_times_to_max()にブロックを渡さなかった場合は、例外が発生します。
ブロックを渡された場合と渡されなかった場合で、処理を分ける場合はblock_given?を使います。

if block_given?
  yield num
else
  num
end

というような感じです。