るりまサーチ

最速Rubyリファレンスマニュアル検索!
66件ヒット [1-66件を表示] (0.083秒)
トップページ > ライブラリ:ビルトイン[x] > クエリ:p[x] > クエリ:public_send[x]

別のキーワード

  1. openssl public_key
  2. openssl public_key=
  3. _builtin public
  4. object public_send
  5. _builtin public_send

クラス

キーワード

検索結果

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Object#public_method(name) -> Method (6120.0)

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

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

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

//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...

Method (86.0)

Object#method によりオブジェクト化され たメソッドオブジェクトのクラスです。

...の組を封入します。
P
roc オブジェクトと違ってコンテキストを保持しません。

=== Proc との差

Method は取り出しの対象であるメソッドが
なければ作れませんが、Proc は準備なしに作れます。その点から
P
roc は使い捨てに向き...
...
P
roc は小規模、Method は大規模コードに向くと言えます。


既存のメソッドを Method オブジェクト化する。

//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end

m = Foo.new.method(:foo)

p
m # => #<Method: Foo#foo>
p
...
...g 1"
//}

名前のないメソッド(の代わり)が必要なら Proc を使うと良い。

//emlist[例][ruby]{
p
r = Proc.new {|arg|
"proc called with arg #{arg}"
}

p
pr # => #<Proc:0x401b1fcc>
p
pr.call(1) # => "proc called with arg 1"
//}

Method オブジェクトが有用な...

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

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

...ドを呼び出せます。
d:spec/def#limit も参照してください。

p
ublic メソッドだけ呼び出せれば良い場合は
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

# 任意のキーとメソッド(の名前)の関係をハッシュに保持しておく
# レシーバの...
...ーバは任意(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 (44.0)

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

...ドを呼び出せます。
d:spec/def#limit も参照してください。

p
ublic メソッドだけ呼び出せれば良い場合は
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

# 任意のキーとメソッド(の名前)の関係をハッシュに保持しておく
# レシーバの...
...ーバは任意(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...