ブロックは、本で斜め読みして使ってみただけで理解があさかったのでちょっと書いてみる。
ブロックを受け取るメソッドを作るのは簡単。普通に書けば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