るりまサーチ

最速Rubyリファレンスマニュアル検索!
55件ヒット [1-55件を表示] (0.041秒)

別のキーワード

  1. _builtin __send__
  2. basicobject __send__
  3. weakref __setobj__
  4. delegate __setobj__
  5. weakref __getobj__

ライブラリ

クラス

検索結果

Symbol (46036.0)

シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。

...です。

シンボルオブジェクトは以下のようなリテラルで得られます。

:symbol
:'symbol'
%s!symbol! # %記法

生成されたシンボルの一覧は Symbol.all_symbols で得られます。
一番目のリテラルでシンボルを表す場合、`:' の後に
...
...{ :key => "value" }
* アクセサの引数で渡すインスタンス変数名 attr_reader :name
* メソッド引数で渡すメソッド名 __send__ :to_s
* C の enum 的な使用 (値そのものは無視してよい場合)

シンボルを使うメリットは

* 新しく文字列を...
...配がない

大抵のメソッドはシンボルの代わりに文字列を引数として渡すこともできるようになっています。

Symbol
クラスのメソッドには、String クラスのメソッドと同名で似た働きをするものもあります。

==== GC

内部的に...

BasicObject#__send__(name, *args) -> object (26106.0)

オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。

...

ブロック付きで呼ばれたときはブロックもそのまま引き渡します。

@param name 呼び出すメソッドの名前。 Symbol または文字列で指定します。
@param args メソッドに渡す任意個の引数

//emlist[例][ruby]{
class Mail
def delete(*args)...
...nd
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 Object#send...

BasicObject#__send__(name, *args) { .... } -> object (26106.0)

オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。

...

ブロック付きで呼ばれたときはブロックもそのまま引き渡します。

@param name 呼び出すメソッドの名前。 Symbol または文字列で指定します。
@param args メソッドに渡す任意個の引数

//emlist[例][ruby]{
class Mail
def delete(*args)...
...nd
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 Object#send...

Object#send(name, *args) -> object (8024.0)

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

...します。

send が再定義された場合に備えて別名 __send__
用意されており、ライブラリではこちらを使うべきです。また
__send__
は再定義すべきではありません。

send, __send__ は、メソッドの呼び出し制限
にかかわらず任意...
...

public メソッドだけ呼び出せれば良い場合は
Object#public_send を使う方が良いでしょう。

@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。

//emlist[][ruby]{
p -365.send(:abs) #=> 365
p...
...ーバは任意(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 (8024.0)

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

...します。

send が再定義された場合に備えて別名 __send__
用意されており、ライブラリではこちらを使うべきです。また
__send__
は再定義すべきではありません。

send, __send__ は、メソッドの呼び出し制限
にかかわらず任意...
...

public メソッドだけ呼び出せれば良い場合は
Object#public_send を使う方が良いでしょう。

@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。

//emlist[][ruby]{
p -365.send(:abs) #=> 365
p...
...ーバは任意(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...

絞り込み条件を変える