るりまサーチ

最速Rubyリファレンスマニュアル検索!
36件ヒット [1-36件を表示] (0.049秒)
トップページ > クエリ:Ruby[x] > 種類:インスタンスメソッド[x] > クエリ:self[x] > クエリ:class[x] > クラス:BasicObject[x] > クエリ:instance_exec[x]

別のキーワード

  1. argf.class each_line
  2. argf.class each
  3. argf.class lines
  4. argf.class readline
  5. argf.class set_encoding

ライブラリ

検索結果

BasicObject#instance_exec(*args) {|*vars| ... } -> object (18133.0)

与えられたブロックをレシーバのコンテキストで実行します。

...ブロック実行中は、 self がレシーバのコンテキストになるので
レシーバの持つインスタンス変数にアクセスすることができます。

@param args ブロックパラメータに渡す値です。

//emlist[例][ruby]{
class
KlassWithSecret
def initialize...
...@secret = 99
end
end
k = KlassWithSecret.new
# 以下で x には 5 が渡される
k.instance_exec(5) {|x| @secret + x } #=> 104
//}

@see Module#class_exec, Module#module_exec, BasicObject#instance_eval...

BasicObject#instance_eval {|obj| ... } -> object (50.0)

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。

...ータとするブロックを
評価してその結果を返します。

オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すれ...
...ソッドが定義されます。これはメソッド定義のネストと同じです。
d:spec/def#nest_method を参照してください。

BasicObject
を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されて...
...ように実行されます。
スタックトレースの表示などを差し替えることができます。

//emlist[例][ruby]{
class
Foo
def initialize data
@key = data
end
private
def do_fuga
p 'secret'
end
end

some = Foo.new 'XXX'
some.instance_eval{p @key}...

BasicObject#instance_eval(expr, filename = "(eval)", lineno = 1) -> object (50.0)

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。

...ータとするブロックを
評価してその結果を返します。

オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すれ...
...ソッドが定義されます。これはメソッド定義のネストと同じです。
d:spec/def#nest_method を参照してください。

BasicObject
を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されて...
...ように実行されます。
スタックトレースの表示などを差し替えることができます。

//emlist[例][ruby]{
class
Foo
def initialize data
@key = data
end
private
def do_fuga
p 'secret'
end
end

some = Foo.new 'XXX'
some.instance_eval{p @key}...