instance_exec(*args) {|*vars| ... } -> objectRuby 1.9.3 から[permalink][rdoc][edit]-
与えられたブロックをレシーバのコンテキストで実行します。
ブロック実行中は、 self がレシーバのコンテキストになるのでレシーバの持つインスタンス変数にアクセスできます。
- [PARAM]
args: - ブロックパラメータに渡す値です。
class KlassWithSecret def initialize @secret = 99 end end k = KlassWithSecret.new # 以下で x には 5 が渡される p k.instance_exec(5) {|x| @secret + x } #=> 104[SEE_ALSO] Module#class_exec, Module#module_exec, BasicObject#instance_eval
- [PARAM]