當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby UnboundMethod.bind用法及代碼示例


本文簡要介紹ruby語言中 UnboundMethod.bind 的用法。

用法

bind(obj) → method

umeth 綁定到 obj 。如果 Klass 是從中獲得umeth 的類,則obj.kind_of?(Klass) 必須為真。

class A
  def test
    puts "In test, class = #{self.class}"
  end
end
class B < A
end
class C < B
end

um = B.instance_method(:test)
bm = um.bind(C.new)
bm.call
bm = um.bind(B.new)
bm.call
bm = um.bind(A.new)
bm.call

產生:

In test, class = C
In test, class = B
prog.rb:16:in `bind': bind argument must be an instance of B (TypeError)
 from prog.rb:16

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 UnboundMethod.bind。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。