るりまサーチ

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

別のキーワード

  1. _builtin b
  2. string b
  3. b string
  4. b _builtin
  5. b

ライブラリ

検索結果

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

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

...ec/def#nest_method を参照してください。

BasicObject
を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、トップレベルの定数が Object 以下...
...とができます。

//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} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

some.insta...
...tance_eval 'raise messg','file.rb',999 # file.rb:999: unknown (RuntimeError)
//}

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

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

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

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

...ec/def#nest_method を参照してください。

BasicObject
を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、トップレベルの定数が Object 以下...
...とができます。

//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} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

some.insta...
...tance_eval 'raise messg','file.rb',999 # file.rb:999: unknown (RuntimeError)
//}

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

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