__send__(name, *args) -> object
[permalink][rdoc][edit]__send__(name, *args) { .... } -> object
-
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
- [PARAM] name:
- 呼び出すメソッドの名前。 Symbol または文字列で指定します。
- [PARAM] args:
- メソッドに渡す任意個の引数
class Mail def delete(*args) "(Mail#delete) - delete " + args.join(',') end def send(name, *args) "(Mail#send) - #{name} #{args.join(',')}" end end mail = Mail.new mail.send :delete, "gentle", "readers" # => "(Mail#send) - delete gentle,readers" mail.__send__ :delete, "gentle", "readers" # => "(Mail#delete) - delete gentle,readers"
[SEE_ALSO] Object#send