ライブラリ
- ビルトイン (394)
- fileutils (22)
-
irb
/ context (11) -
irb
/ ext / history (11) -
irb
/ extend-command (11) - win32ole (11)
クラス
- BasicObject (33)
- Binding (43)
- Class (22)
-
IRB
:: Context (22) - Module (110)
- Object (50)
- Proc (11)
-
RubyVM
:: InstructionSequence (20) - TracePoint (17)
-
WIN32OLE
_ TYPE (11)
モジュール
- FileUtils (22)
-
IRB
:: ContextExtender (11) - Kernel (44)
- ObjectSpace (22)
オブジェクト
- main (22)
キーワード
- Marshal フォーマット (11)
- Ruby プログラムの実行 (11)
-
SCRIPT
_ LINES _ _ (11) - binding (11)
-
class
_ eval (22) -
class
_ exec (11) - copy (11)
- cp (11)
-
default
_ event _ sources (11) -
define
_ finalizer (22) -
define
_ method (44) -
eval
_ history (11) -
eval
_ script (6) - evaluate (11)
-
install
_ extend _ commands (11) -
instance
_ eval (22) -
instance
_ variables (11) - irb (11)
-
irb
/ completion (11) -
load
_ from _ binary (9) -
local
_ variable _ defined? (11) -
local
_ variable _ get (11) -
local
_ variables (10) -
module
_ eval (22) -
module
_ exec (11) - new (44)
-
require
_ relative (11) -
respond
_ to? (11) - self (11)
-
singleton
_ method (11) -
singleton
_ method _ undefined (11) -
source
_ location (11) - taint (6)
検索結果
先頭5件
-
Kernel
. # eval(expr , bind , fname = "(eval)" , lineno = 1) -> object (24457.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...ブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。
fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのよ......評価したい場合、
Module#module_eval, BasicObject#instance_eval が使えます。
@param expr 評価する文字列です。
@param bind 評価コンテキストです。
@param fname スタックトレースに表示するファイル名です。
@param lineno 文字列 expr が書かれ......emlist[例][ruby]{
a = nil
eval('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"
eval('def fuga;p 777 end')
fuga #=> 777
eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
# from ..:9
//}
@see Kernel.#binding,Module#module_eval,BasicObject#instance_eval,... -
Kernel
. # eval(expr) -> object (24357.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...ブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。
fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのよ......評価したい場合、
Module#module_eval, BasicObject#instance_eval が使えます。
@param expr 評価する文字列です。
@param bind 評価コンテキストです。
@param fname スタックトレースに表示するファイル名です。
@param lineno 文字列 expr が書かれ......emlist[例][ruby]{
a = nil
eval('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"
eval('def fuga;p 777 end')
fuga #=> 777
eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
# from ..:9
//}
@see Kernel.#binding,Module#module_eval,BasicObject#instance_eval,... -
Binding
# eval(expr , fname = _ _ FILE _ _ , lineno = 1) -> object (24351.0) -
自身をコンテキストとし文字列 expr を Ruby プログラムとして評価しその結果を返します。 組み込み関数 Kernel.#eval を使って eval(expr, self, fname, lineno) とするのと同じです。
...キストとし文字列 expr を
Ruby プログラムとして評価しその結果を返します。
組み込み関数 Kernel.#eval を使って
eval(expr, self, fname, lineno) とするのと同じです。
@param expr 評価したい式を文字列で与えます。
@param fname ファイル......aram lineno 行番号を整数で与えます。式 expr の先頭行の行番号が lineno であるかのように実行されます。
//emlist[例][ruby]{
def get_binding(str)
binding
end
str = "hello"
p eval("str + ' Fred'") #=> "hello Fred"
p get_binding("bye").eval("st......r + ' Fred'") #=> "bye Fred"
//}
@see Kernel.#eval... -
RubyVM
:: InstructionSequence # eval -> object (24307.0) -
self の命令シーケンスを評価してその結果を返します。
...self の命令シーケンスを評価してその結果を返します。
RubyVM::InstructionSequence.compile("1 + 2").eval # => 3... -
BasicObject
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (12481.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...ータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すれ......instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval 内の......。
//emlist[例][ruby]{
class Foo
def initialize data
@key = data
end
private
def do_fuga
p 'secret'
end
end
some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる
some.instance_eval 'raise' #... -
Module
# class _ eval(expr , fname = "(eval)" , lineno = 1) -> object (12436.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字......@param lineno 文字列を指定します。行番号 lineno から文字列 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 (12436.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字......@param lineno 文字列を指定します。行番号 lineno から文字列 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... -
BasicObject
# instance _ eval {|obj| . . . } -> object (12381.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...ータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すれ......instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval 内の......。
//emlist[例][ruby]{
class Foo
def initialize data
@key = data
end
private
def do_fuga
p 'secret'
end
end
some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる
some.instance_eval 'raise' #... -
Module
# class _ eval {|mod| . . . } -> object (12336.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字......@param lineno 文字列を指定します。行番号 lineno から文字列 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 {|mod| . . . } -> object (12336.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字......@param lineno 文字列を指定します。行番号 lineno から文字列 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...