るりまサーチ

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

別のキーワード

  1. socket send
  2. udpsocket send
  3. socket msg_send
  4. object send
  5. _builtin send

検索結果

<< 1 2 3 > >>

Object#send(name, *args) -> object (18200.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 クラスのインスタンスである必要もない)
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 (18200.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 クラスのインスタンスである必要もない)
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...

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

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

...

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

//emlist[例][ruby]{
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 Object#send...

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

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

...

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

//emlist[例][ruby]{
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 Object#send...

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

オブジェクトの 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 (6158.0)

オブジェクトの 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...

Thread::ConditionVariable (110.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

...@q が空になった場合、
あるいは満タンになった場合に Condition Variable を使って wait しています。

require 'thread'

class TinyQueue
def initialize(max=2)
@
max = max
@
full = ConditionVariable.new
@
empty = ConditionVariable.new
@
mutex...
...= Mutex.new
@
q = []
end

def count
@
q.size
end

def enq(v)
@
mutex.synchronize{
@
full.wait(@mutex) if count == @max
@
q.push v
@
empty.signal if count == 1
}
end

def deq
@
mutex.synchronize{
@
empty.wait(@mutex) if co...
...unt == 0
v = @q.shift
@
full.signal if count == (@max - 1)
v
}
end

alias send enq
alias recv deq
end

if __FILE__ == $0
q = TinyQueue.new(1)
foods = 'Apple Banana Strawberry Udon Rice Milk'.split
l = []

th = Thread.new {
for obj in...

Object#singleton_method(name) -> Method (62.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...
...Demo.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#metho...

Kernel.#eval(expr) -> object (38.0)

文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。

...Module#module_eval, BasicObject#instance_eval が使えます。

@
param expr 評価する文字列です。
@
param bind 評価コンテキストです。
@
param fname スタックトレースに表示するファイル名です。
@
param lineno 文字列 expr が書かれていると想定する...
...val('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"

eval('def fuga;p 777 end')
fuga #=> 777

eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
# from ..:9
//}

@
see Kernel.#binding,Module#module_eval,BasicObject#instance_eval,Object#method,Object#send...

Kernel.#eval(expr, bind, fname = "(eval)", lineno = 1) -> object (38.0)

文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。

...Module#module_eval, BasicObject#instance_eval が使えます。

@
param expr 評価する文字列です。
@
param bind 評価コンテキストです。
@
param fname スタックトレースに表示するファイル名です。
@
param lineno 文字列 expr が書かれていると想定する...
...val('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"

eval('def fuga;p 777 end')
fuga #=> 777

eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
# from ..:9
//}

@
see Kernel.#binding,Module#module_eval,BasicObject#instance_eval,Object#method,Object#send...

絞り込み条件を変える

<< 1 2 3 > >>