るりまサーチ

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

別のキーワード

  1. _builtin >
  2. bigdecimal >
  3. float >
  4. complex >
  5. module >

ライブラリ

検索結果

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

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

...て instance_eval 内のメソッドが定義されます。これはメソッド定義のネストと同じです。
d
:spec/def#nest_method を参照してください。

BasicObject
を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジ...
...ことができます。

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

some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

some.in...
...imeError)
//}

//emlist[例][ruby]{
class Bar < BasicObject
d
ef call1
instance_eval("::ENV.class")
end
d
ef call2
instance_eval("ENV.class")
end
end

bar = Bar.new
bar.call1 # => Object
bar.call2 # raise NameError
//}

@see Module#module_eval, Kernel.#eval, BasicObject#instance_exec...

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

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

...て instance_eval 内のメソッドが定義されます。これはメソッド定義のネストと同じです。
d
:spec/def#nest_method を参照してください。

BasicObject
を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジ...
...ことができます。

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

some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

some.in...
...imeError)
//}

//emlist[例][ruby]{
class Bar < BasicObject
d
ef call1
instance_eval("::ENV.class")
end
d
ef call2
instance_eval("ENV.class")
end
end

bar = Bar.new
bar.call1 # => Object
bar.call2 # raise NameError
//}

@see Module#module_eval, Kernel.#eval, BasicObject#instance_exec...