るりまサーチ

最速Rubyリファレンスマニュアル検索!
36件ヒット [1-36件を表示] (0.049秒)
トップページ > クエリ:b[x] > クエリ:basic[x] > クエリ:param[x] > クラス:BasicObject[x] > クエリ:instance_exec[x]

別のキーワード

  1. net/imap param
  2. win32ole win32ole_param
  3. win32ole_param name
  4. win32ole_param new
  5. win32ole_param to_s

ライブラリ

検索結果

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

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

...スすることができます。

@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 (6225.0)

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

...

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

@param expr...
...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
//}...
...@see Module#module_eval, Kernel.#eval, BasicObject#instance_exec...

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

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

...

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

@param expr...
...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
//}...
...@see Module#module_eval, Kernel.#eval, BasicObject#instance_exec...