ライブラリ
- ビルトイン (24)
キーワード
-
_ _ send _ _ (6) -
instance
_ eval (6) -
instance
_ variables (3) - method (3)
- send (6)
検索結果
先頭5件
-
Object
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (6276) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval 内の......some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる
some.instance_eval 'raise' # ..:10: (eval):1: (RuntimeError)
messg = 'unknown'
some.instance_eval 'raise messg','file.rb',999 # file.rb:999......: unknown (RuntimeError)
@see Module#module_eval, Kernel.#eval... -
Object
# instance _ eval {|obj| . . . } -> object (6176) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval 内の......some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる
some.instance_eval 'raise' # ..:10: (eval):1: (RuntimeError)
messg = 'unknown'
some.instance_eval 'raise messg','file.rb',999 # file.rb:999......: unknown (RuntimeError)
@see Module#module_eval, Kernel.#eval... -
Object
# _ _ send _ _ (name , *args) -> object (19) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method... -
Object
# _ _ send _ _ (name , *args) { . . . . } -> object (19) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method... -
Object
# instance _ variables -> [String] (19) -
オブジェクトのインスタンス変数名を文字列の配列として返します。
...数名を文字列の配列として返します。
obj = Object.new
obj.instance_eval { @foo, @bar = nil }
p obj.instance_variables
#=> ["@foo", "@bar"]
@see Object#instance_variable_get,Kernel.#local_variables,Kernel.#global_variables,Module.constants,Module#constants,Module#cla... -
Object
# instance _ variables -> [Symbol] (19) -
オブジェクトのインスタンス変数名をシンボルの配列として返します。
...名をシンボルの配列として返します。
obj = Object.new
obj.instance_eval { @foo, @bar = nil }
p obj.instance_variables
#=> [:@foo, :@bar]
@see Object#instance_variable_get,Kernel.#local_variables,Kernel.#global_variables,Module.constants,Module#constants,Module#class... -
Object
# method(name) -> Method (19) -
オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返します。
...名をSymbol またはStringで指定します。
@raise NameError 定義されていないメソッド名を引数として与えると発生します。
me = -365.method(:abs)
p me #=> #<Method: Fixnum#abs>
p me.call #=> 365
@see Module#instance_method,Method,Object#__send__,Kernel.#eval... -
Object
# send(name , *args) -> object (19) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method... -
Object
# send(name , *args) { . . . . } -> object (19) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method...
