るりまサーチ

最速Rubyリファレンスマニュアル検索!
33件ヒット [1-33件を表示] (0.194秒)
トップページ > クエリ:-[x] > クエリ:E[x] > クエリ:*[x] > クエリ:class_exec[x]

別のキーワード

  1. _builtin *
  2. matrix *
  3. bigdecimal *
  4. vector *
  5. array *

ライブラリ

クラス

キーワード

検索結果

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

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

...ュールのコンテキストで評価します。

モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ローカル変...
...します。


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

Thing.class_exec{
def hello()
"Hello there!"
e
nd

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

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

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

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

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

...ュールのコンテキストで評価します。

モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ローカル変...
...します。


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

Thing.class_exec{
def hello()
"Hello there!"
e
nd

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

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 (9306.0)

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

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

@param args ブロックパラメータに渡す値です。

//emlist[例][ruby]{
class KlassWithSecret
def initialize
@secret = 99
e
nd
e
nd
k...
...= KlassWithSecret.new
# 以下で x には 5 が渡される
k.instance_exec(5) {|x| @secret + x } #=> 104
//}

@see Module#class_exec, Module#module_exec, BasicObject#instance_eval...