55件ヒット
[1-55件を表示]
(0.255秒)
種類
- インスタンスメソッド (36)
- クラス (12)
- 文書 (7)
ライブラリ
- ビルトイン (48)
クラス
- Object (36)
キーワード
-
NEWS for Ruby 2
. 6 . 0 (7) -
public
_ method (12) - send (24)
検索結果
先頭5件
-
Method (38112.0)
-
Object#method によりオブジェクト化され たメソッドオブジェクトのクラスです。
...ject#method によりオブジェクト化され
たメソッドオブジェクトのクラスです。
メソッドの実体(名前でなく)とレシーバの組を封入します。
Proc オブジェクトと違ってコンテキストを保持しません。
=== Proc との差
Method は......は使い捨てに向き、Method は何度も繰り返し生成する
場合に向くと言えます。また内包するコードの大きさという点では
Proc は小規模、Method は大規模コードに向くと言えます。
既存のメソッドを Method オブジェクト化する......ソッドを呼び出す
p methods[1].call # => "foo"
p methods[2].call # => "bar"
p methods[3].call # => "baz"
//}
しかし、レシーバを固定させる(Method オブジェクトはレシーバを保持する)必
要がないなら Object#public_sendを使う方法も有用... -
Object
# public _ method(name) -> Method (6260.0) -
オブジェクトの public メソッド name をオブジェクト化した Method オブジェクトを返します。
...オブジェクトの public メソッド name をオブジェクト化した
Method オブジェクトを返します。
@param name メソッド名を Symbol または String で指定します。
@raise NameError 定義されていないメソッド名や、
protected メソッド名、......vate メソッド名を引数として与えると発生します。
//emlist[][ruby]{
1.public_method(:to_int) #=> #<Method: Integer#to_int>
1.public_method(:p) # method `p' for class `Integer' is private (NameError)
//}
@see Object#method,Object#public_send,Module#public_instance_method... -
NEWS for Ruby 2
. 6 . 0 (42.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...りました。 14250
* Refinements がブロック引数にも反映されるようになりました。 14223
* Refinements が Object#public_send にも反映されるようになりました。 15326
* Refinements が Object#respond_to? にも反映されるようになりました。......した。 14313
* Method
* 新規メソッド
* 関数合成用に Method#<< と Method#>> が追加されました。 6284
* Module
* 変更されたメソッド
* Module#method_defined?, Module#private_method_defined?,
Module#protected_method_defined? が省略可......* NilClass
* 新規メソッド
* 互換性のため、NilClass#=~ が追加されました。 15231
* NoMethodError
* 新規オプション
* NoMethodError.new に :receiver オプションが追加されて
Ruby コードからも設定できるようになりま... -
Object
# send(name , *args) -> object (24.0) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...ドを呼び出せます。
d:spec/def#limit も参照してください。
public メソッドだけ呼び出せれば良い場合は
Object#public_send を使う方が良いでしょう。
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッド......ないことに注意
methods = {1 => :foo,
2 => :bar,
3 => :baz}
# キーを使って関連するメソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"......p Foo.new.send(methods[3]) # => "baz"
//}
@see Object#public_send, BasicObject#__send__, Object#method, Kernel.#eval, Proc, Method... -
Object
# send(name , *args) { . . . . } -> object (24.0) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...ドを呼び出せます。
d:spec/def#limit も参照してください。
public メソッドだけ呼び出せれば良い場合は
Object#public_send を使う方が良いでしょう。
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッド......ないことに注意
methods = {1 => :foo,
2 => :bar,
3 => :baz}
# キーを使って関連するメソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"......p Foo.new.send(methods[3]) # => "baz"
//}
@see Object#public_send, BasicObject#__send__, Object#method, Kernel.#eval, Proc, Method...