るりまサーチ

最速Rubyリファレンスマニュアル検索!
72件ヒット [1-72件を表示] (0.081秒)
トップページ > クエリ:Ruby[x] > クエリ:ruby[x] > 種類:インスタンスメソッド[x] > クエリ:-[x] > クエリ:@[x] > クエリ:end[x] > クラス:Object[x] > クエリ:send[x]

別のキーワード

  1. fiddle ruby_free
  2. rbconfig ruby
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

キーワード

検索結果

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

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

...クもそのまま引き渡します。

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

send
, __send__ は、メソッドの呼び出し制限...
...い場合は
Object
#public_send を使う方が良いでしょう。

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

//emlist[][ruby]{
p -365.send(:abs) #=> 365
p "ruby".send(:sub,/./,"R") #=> "Ruby"


class Foo...
...def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end


# 任意のキーとメソッド(の名前)の関係をハッシュに保持しておく
# レシーバの情報がここにはないことに注意
methods = {1 => :foo,
2 => :bar,
3 => :baz}

# キーを使って関連する...

Object#send(name, *args) { .... } -> object (24466.0)

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

...クもそのまま引き渡します。

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

send
, __send__ は、メソッドの呼び出し制限...
...い場合は
Object
#public_send を使う方が良いでしょう。

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

//emlist[][ruby]{
p -365.send(:abs) #=> 365
p "ruby".send(:sub,/./,"R") #=> "Ruby"


class Foo...
...def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end


# 任意のキーとメソッド(の名前)の関係をハッシュに保持しておく
# レシーバの情報がここにはないことに注意
methods = {1 => :foo,
2 => :bar,
3 => :baz}

# キーを使って関連する...

Object#public_send(name, *args) -> object (12382.0)

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

...ます。

//emlist[][ruby]{
1.public_send(:+, 2) # => 3
//}

@
param name 文字列かSymbol で指定するメソッド名です。

@
param args 呼び出すメソッドに渡す引数です。

@
raise ArgumentError name を指定しなかった場合に発生します。

@
raise NoMethodError pro...
...tected メソッドや private メソッドに対して実行
した場合に発生します。

//emlist[][ruby]{
1.public_send(:puts, "hello") # => NoMethodError
//}

@
see BasicObject#__send__, Object#send...

Object#public_send(name, *args) { .... } -> object (12382.0)

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

...ます。

//emlist[][ruby]{
1.public_send(:+, 2) # => 3
//}

@
param name 文字列かSymbol で指定するメソッド名です。

@
param args 呼び出すメソッドに渡す引数です。

@
raise ArgumentError name を指定しなかった場合に発生します。

@
raise NoMethodError pro...
...tected メソッドや private メソッドに対して実行
した場合に発生します。

//emlist[][ruby]{
1.public_send(:puts, "hello") # => NoMethodError
//}

@
see BasicObject#__send__, Object#send...

Object#initialize_copy(obj) -> object (198.0)

(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。

...特異メソッドは変化しません。

デフォルトでは、Object#clone の内部で Object#initialize_clone から、
また Object#dup の内部で Object#initialize_dup から呼ばれます。

initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた...
...なります。

デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。

initialize_copy という名前のメソッドは
自動的に private に設定されます。

@
raise TypeError レシーバが fr...
...に発生します。
@
see Object#clone,Object#dup

以下に例として、dup や clone がこのメソッドをどのように利用しているかを示します。

obj.dup は、新たに生成したオブジェクトに対して
initialize_copy を呼び

//emlist[][ruby]{
obj2 = obj.class.al...

絞り込み条件を変える

Object#singleton_method(name) -> Method (198.0)

オブジェクトの特異メソッド name をオブジェクト化した Method オブ ジェクトを返します。

...

@
param name メソッド名をSymbol またはStringで指定します。
@
raise NameError 定義されていないメソッド名を引数として与えると発生します。

//emlist[][ruby]{
class Demo
def initialize(n)
@
iv = n
end

def hello()
"Hello, @iv = #{@iv}"
end

end
...
...o.new(99)
def k.hi
"Hi, @iv = #{@iv}"
end

m = k.singleton_method(:hi) # => #<Method: #<Demo:0xf8b0c3c4 @iv=99>.hi>
m.call #=> "Hi, @iv = 99"
m = k.singleton_method(:hello) # => NameError
//}

@
see Module#instance_method, Method, BasicObject#__send__, Object#send, Kernel.#eval, Object#method...