メタプログラミングRubyを読んでいます(4)

読んだ範囲

メタプログラミングRuby」の「3.3.3 動的プロキシ」から「4.3.4 クロージャのまとめ」まで読みました。

知ったこと

ブロックを定義した時の束縛について(4.3 ブロックはクロージャー)

ブロックを定義した時の束縛は、その時点での束縛を取得することを知りました。 小さなコードを実装して確かめてみます。

def greet
  name = '巻 真紀'
  yield
end

name = '世吹 すずめ'
puts greet { "こんにちは、 #{name}" } # => こんにちは、 世吹 すずめ

ブロックが定義されている時のselfmainなので、「巻 真紀」ではなく、「世吹 すずめ」に挨拶しています。

以上です :end: