クラス
- BasicObject (36)
- Binding (23)
- Module (72)
- Object (6)
-
RubyVM
:: InstructionSequence (24) - TracePoint (12)
-
WIN32OLE
_ TYPE (12)
モジュール
- ObjectSpace (24)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Binding (12)
- Marshal フォーマット (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 6 . 0 (7) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 1 . 0 (4) - Ruby プログラムの実行 (12)
-
class
_ eval (24) -
class
_ exec (12) -
default
_ event _ sources (12) -
define
_ finalizer (24) -
eval
_ node (12) -
eval
_ under (12) -
instance
_ eval (24) -
instance
_ exec (12) - irb (12)
-
module
_ eval (24) -
module
_ exec (12) -
rb
_ eval (12) -
rb
_ f _ eval (12) -
rb
_ obj _ instance _ eval (12) - receiver (11)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 2 feature (12) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 9 feature (12) -
specific
_ eval (12) - taint (6)
-
to
_ a (12) - クラス/メソッドの定義 (12)
- パターンマッチ (9)
検索結果
先頭5件
-
static VALUE eval(VALUE self
, VALUE src , VALUE scope , char *file , int line) (38216.0) -
eval の実体。文字列 src を評価します。 そのとき第三引数 scope が nil でなければ そのコンテキストの元で評価します。
...
eval の実体。文字列 src を評価します。
そのとき第三引数 scope が nil でなければ
そのコンテキストの元で評価します。
また src をコンパイルするとき、
ファイル file の line 行目に配置されていると仮定します。... -
Binding
# eval(expr , fname = _ _ FILE _ _ , lineno = 1) -> object (18167.0) -
自身をコンテキストとし文字列 expr を Ruby プログラムとして評価しその結果を返します。 組み込み関数 Kernel.#eval を使って eval(expr, self, fname, lineno) とするのと同じです。
...テキストとし文字列 expr を
Ruby プログラムとして評価しその結果を返します。
組み込み関数 Kernel.#eval を使って
eval(expr, self, fname, lineno) とするのと同じです。
@param expr 評価したい式を文字列で与えます。
@param fname ファイ......の先頭行の行番号が lineno であるかのように実行されます。
//emlist[例][ruby]{
def get_binding(str)
binding
end
str = "hello"
p eval("str + ' Fred'") #=> "hello Fred"
p get_binding("bye").eval("str + ' Fred'") #=> "bye Fred"
//}
@see Kernel.#eval... -
RubyVM
:: InstructionSequence # eval -> object (18123.0) -
self の命令シーケンスを評価してその結果を返します。
...
self の命令シーケンスを評価してその結果を返します。
RubyVM::InstructionSequence.compile("1 + 2").eval # => 3... -
TracePoint
# self -> object (18119.0) -
イベントを発生させたオブジェクトを返します。
...イベントを発生させたオブジェクトを返します。
以下のようにする事で同じ値を取得できます。
//emlist[例][ruby]{
trace.binding.eval('self')
//}
@see TracePoint#binding......返します。
以下のようにする事で同じ値を取得できます。
なお、self メソッドは binding が nil になる :c_call および :c_return イベントに対しても正しく動作します。
//emlist[例][ruby]{
trace.binding.eval('self')
//}
@see TracePoint#binding... -
BasicObject
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (6287.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...ータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すれ......instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval 内の......のネストと同じです。
d:spec/def#nest_method を参照してください。
BasicObject を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、トップ... -
Module
# class _ eval(expr , fname = "(eval)" , lineno = 1) -> object (6254.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
定数......。
スタックトレースの表示などを差し替えることができます。
//emlist[例][ruby]{
class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}
p C.new.m #=> [:m, 1]
//}
//emlist[......s_eval { X = 1 }
# 文字列が渡された場合は、モジュール定義式内と同じスコープになる。つまり、この場合は
# class C
# X = 2
# end
# と書いたのと同じ意味になる。
C.class_eval 'X = 2'
p X #=> 1
p C::X #=> 2
//}
@see BasicObject#instance_eval,... -
Module
# module _ eval(expr , fname = "(eval)" , lineno = 1) -> object (6254.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
定数......。
スタックトレースの表示などを差し替えることができます。
//emlist[例][ruby]{
class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}
p C.new.m #=> [:m, 1]
//}
//emlist[......s_eval { X = 1 }
# 文字列が渡された場合は、モジュール定義式内と同じスコープになる。つまり、この場合は
# class C
# X = 2
# end
# と書いたのと同じ意味になる。
C.class_eval 'X = 2'
p X #=> 1
p C::X #=> 2
//}
@see BasicObject#instance_eval,... -
static VALUE rb
_ eval(VALUE self , NODE *n) (6232.0) -
構文木 n を self = self のもとで評価します。
...構文木 n を self = self のもとで評価します。... -
static VALUE specific
_ eval(int argc , VALUE *argv , VALUE klass , VALUE self) (6232.0) -
rb_obj_instance_eval と rb_mod_module_eval を共通化するための補助関数です。
...rb_obj_instance_eval と rb_mod_module_eval を共通化するための補助関数です。...