ブロックは、本で斜め読みして使ってみただけで理解があさかったのでちょっと書いてみる。
ブロックを受け取るメソッドを作るのは簡単。普通に書けばOK
def func puts "Hello world" end func { # block }
実行結果
Hello world
部通のメソッドでもブロックを受け取れる。
受け取ったブロックはどうやって使うのか??
yieldを使うと出来る。
例えば
def func yield # これでブロック要素で渡されたものを実行する end func { puts "block hello world" # block }
実行結果
block hello world
引数も渡せる
def func yield "argument hello world" # 引数も渡せる end func { |arg| puts arg # block }
実行結果
argument hello world