当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。