33件ヒット
[1-33件を表示]
(0.080秒)
種類
- インスタンスメソッド (22)
- 文書 (11)
ライブラリ
- ビルトイン (22)
クラス
- Module (22)
キーワード
- Ruby プログラムの実行 (11)
-
module
_ eval (11)
検索結果
先頭3件
-
Module
# class _ eval(expr , fname = "(eval)" , lineno = 1) -> object (18314.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字列が与えられた場合には、定数とクラス変数のスコープは自身のモ......のスコープはブロックの外側のスコープになります。
@param expr 評価される文字列。
@param fname 文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。
スタックトレースの表示......などを差し替えることができます。
//emlist[例][ruby]{
class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}
p C.new.m #=> [:m, 1]
//}
@see BasicObject#instance_eval, Module.new, Kernel.#eval... -
Module
# module _ eval(expr , fname = "(eval)" , lineno = 1) -> object (3214.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字列が与えられた場合には、定数とクラス変数のスコープは自身のモ......のスコープはブロックの外側のスコープになります。
@param expr 評価される文字列。
@param fname 文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。
スタックトレースの表示......などを差し替えることができます。
//emlist[例][ruby]{
class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}
p C.new.m #=> [:m, 1]
//}
@see BasicObject#instance_eval, Module.new, Kernel.#eval... -
Ruby プログラムの実行 (36.0)
-
Ruby プログラムの実行 === Ruby プログラム
...== クラス定義式
クラスを定義します。
評価は(コンパイル時ではなく)実行時に行われます。
書式
class ClassName [< スーパークラス式]
式
end
クラス定義式は評価されるとまずクラスを生成しようとします。スーパーク......のブ
ロックの self と class を継承します。Module#module_eval/class_eval、
BasicObject#instance_eval
の三つだけが例外で、以下のように変更されます。
: Module#module_eval, Module#class_eval
self、class ともそのレシーバ
: BasicObject#instance_eval......some_iterator do |a,b|
....
end
次のような操作がまず実行されます。
a, b = <some_iterator から yield された値>
==== インスタンス変数
インスタンス変数はひとつのオブジェクトに所属し、そのオブジェクトを
self とする...