るりまサーチ

最速Rubyリファレンスマニュアル検索!
36件ヒット [1-36件を表示] (0.031秒)

別のキーワード

  1. _builtin eval
  2. module module_eval
  3. _builtin module_eval
  4. kernel eval
  5. module class_eval

ライブラリ

クラス

キーワード

検索結果

Module#module_exec(*args) {|*vars| ... } -> object (15120.0)

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

...に実行されます。

ローカル変数、定数とクラス変数のスコープはブロックの外側のスコープになります。

@param args ブロックに渡す引数を指定します。


//emlist[例][ruby]{
class Thing
end
c = 1

Thing.class_exec{
def hello()
"Hello ther...
...e!"
end

define_method(:foo) do # ローカル変数がブロックの外側を参照している
c
end
}

t = Thing.new
p t.hello() #=> "Hello there!"
p t.foo() #=> 1
//}

@see Module#module_eval, Module#class_eval...

Module#class_exec(*args) {|*vars| ... } -> object (20.0)

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

...に実行されます。

ローカル変数、定数とクラス変数のスコープはブロックの外側のスコープになります。

@param args ブロックに渡す引数を指定します。


//emlist[例][ruby]{
class Thing
end
c = 1

Thing.class_exec{
def hello()
"Hello ther...
...e!"
end

define_method(:foo) do # ローカル変数がブロックの外側を参照している
c
end
}

t = Thing.new
p t.hello() #=> "Hello there!"
p t.foo() #=> 1
//}

@see Module#module_eval, Module#class_eval...

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

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

...lf がレシーバのコンテキストになるので
レシーバの持つインスタンス変数にアクセスすることができます。

@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...