別のキーワード
種類
- インスタンスメソッド (77)
- 文書 (44)
- 特異メソッド (22)
- モジュール関数 (11)
ライブラリ
- ビルトイン (110)
クラス
- BasicObject (22)
- Module (44)
- Object (11)
モジュール
- Kernel (11)
オブジェクト
- main (22)
キーワード
- Ruby プログラムの実行 (11)
-
class
_ eval (11) -
define
_ method (44) - eval (11)
-
module
_ eval (11) -
respond
_ to? (11) -
ruby 1
. 6 feature (11) -
ruby 1
. 9 feature (11) -
singleton
_ method _ undefined (11) - クラス/メソッドの定義 (11)
検索結果
先頭5件
-
BasicObject
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (18262.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...は instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval 内......で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、トップレベルの定数が Object 以下に作成されるためです。
@param expr 評価する文字列です。
@param filename 文......字列を指定します。ファイル filename に文字列 expr が
書かれているかのように実行されます。スタックトレースの
表示などを差し替えることができます。
@param lineno 整数を指定します。行番号 lineno... -
Object
# respond _ to?(name , include _ all = false) -> bool (141.0) -
オブジェクトがメソッド name を持つとき真を返します。
...オブジェクトがメソッド name を持つとき真を返します。
オブジェクトが メソッド name を持つというのは、
オブジェクトが メソッド name に応答できることをいいます。
Windows での Process.fork や GNU/Linux での File.lchmod の
よ......ます。
メソッドが定義されていない場合は、Object#respond_to_missing? を呼
び出してその結果を返します。
@param name Symbol または文字列で指定するメソッド名です。
@param include_all private メソッドと protected メソッドを確認の対......ef hello
"Guten Tag"
end
end
list = [F.new,D.new]
list.each{|it| puts it.hello if it.respond_to?(:hello)}
#=> Bonjour
list.each{|it| it.instance_eval("puts hello if it.respond_to?(:hello, true)")}
#=> Bonjour
# Guten Tag
module Template
def main
start
template_method
finish... -
Module
# define _ method(name) { . . . } -> Symbol (130.0) -
インスタンスメソッド name を定義します。
...インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。
@param name メソッド名を String または Symbol... -
Module
# define _ method(name , method) -> Symbol (130.0) -
インスタンスメソッド name を定義します。
...インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。
@param name メソッド名を String または Symbol... -
main
. define _ method(name) { . . . } -> Symbol (130.0) -
インスタンスメソッド name を Object に定義します。
...インスタンスメソッド name を Object に定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
Object インスタンスの上で BasicObject#instance_eval されます。
@param name String または Symbol を指定します。
@par... -
main
. define _ method(name , method) -> Symbol (130.0) -
インスタンスメソッド name を Object に定義します。
...インスタンスメソッド name を Object に定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
Object インスタンスの上で BasicObject#instance_eval されます。
@param name String または Symbol を指定します。
@par... -
BasicObject
# singleton _ method _ undefined(name) -> object (125.0) -
特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。
...クには
Module#method_undefined を使います。
@param name 未定義にされたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_undefined(name)
puts "singleton method \"#{name}\" was undefined"
end
end
obj = Foo.new
def obj.foo
end... -
Kernel
. # eval(expr , bind , fname = "(eval)" , lineno = 1) -> object (112.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...わち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。
fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタ......テキストで expr を評価したい場合、
Module#module_eval, BasicObject#instance_eval が使えます。
@param expr 評価する文字列です。
@param bind 評価コンテキストです。
@param fname スタックトレースに表示するファイル名です。
@param lineno 文......val('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,Object#method,Object#send... -
Module
# class _ eval(expr , fname = "(eval)" , lineno = 1) -> object (106.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...のスコープはブロックの外側のスコープになります。
@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 (106.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...のスコープはブロックの外側のスコープになります。
@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...