るりまサーチ

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

別のキーワード

  1. openssl t61string
  2. asn1 t61string
  3. t61string new
  4. fiddle type_size_t
  5. matrix t

クラス

検索結果

Method#unbind -> UnboundMethod (21237.0)

self のレシーバとの関連を取り除いた UnboundMethod オブ ジェクトを生成して返します。

...
self
のレシーバとの関連を取り除いた UnboundMethod オブ
ジェクトを生成して返します。

//emlist[例][ruby]{
class Foo
def foo
"foo"
end
end

m = Foo.new.method(:foo) # => #<Method: Foo#foo>
unbound_method = m.unbind # => #<UnboundMethod: Foo#foo>
unbound_method....
...bind(Foo.new) # => #<Method: Foo#foo>
//}...

UnboundMethod (6038.0)

レシーバを持たないメソッドを表すクラスです。 呼び出すためにはレシーバにバインドする必要があります。

...あります。

Module#instance_method や
Method#unbind により生成し、後で
UnboundMethod#bind によりレシーバを
割り当てた Method オブジェクトを作ることができます。

//emlist[例: Method クラスの冒頭にある例を UnboundMethod で書くと以下のよ...
...thods = {1 => Foo.instance_method(:foo),
2 => Foo.instance_method(:bar),
3 => Foo.instance_method(:baz)}

# キーを使って関連するメソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスでなければならない)
p methods[1].bind(Foo.new...
...).call # => "foo"
p methods[2].bind(Foo.new).call # => "bar"
p methods[3].bind(Foo.new).call # => "baz"
//}

//emlist[例: 以下はメソッドの再定義を UnboundMethod を使って行う方法です。普通は alias や super を使います。][ruby]{
class Foo
def foo
p...