るりまサーチ

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

別のキーワード

  1. module attr
  2. module private
  3. module public
  4. module protected
  5. module module_eval

ライブラリ

検索結果

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

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

...い。

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

@
param ex...
...文字列です。

@
param filename 文字列を指定します。ファイル filename に文字列 expr が
書かれているかのように実行されます。スタックトレースの
表示などを差し替えることができます。

@
param lineno 整数...
...し替えることができます。

//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 メソッドも呼び出せ...

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

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

...い。

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

@
param ex...
...文字列です。

@
param filename 文字列を指定します。ファイル filename に文字列 expr が
書かれているかのように実行されます。スタックトレースの
表示などを差し替えることができます。

@
param lineno 整数...
...し替えることができます。

//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 メソッドも呼び出せ...