本文簡要介紹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 UnboundMethod.original_name用法及代碼示例
- Ruby UnboundMethod.parameters用法及代碼示例
- Ruby UnboundMethod.inspect用法及代碼示例
- Ruby UnboundMethod.to_s用法及代碼示例
- Ruby UnboundMethod.owner用法及代碼示例
- Ruby UnboundMethod.clone用法及代碼示例
- Ruby UnboundMethod.arity用法及代碼示例
- Ruby UnboundMethod類用法及代碼示例
- Ruby UndefinedConversionError.source_encoding用法及代碼示例
- Ruby UncaughtThrowError類用法及代碼示例
- Ruby UnwindDetails.all_requirements用法及代碼示例
- Ruby UnwindDetails.reversed_requirement_tree_index用法及代碼示例
- Ruby UncaughtThrowError.new用法及代碼示例
- Ruby UnwindDetails.unwinding_to_primary_requirement?用法及代碼示例
- Ruby UnpackCommand.get_path用法及代碼示例
- Ruby UnwindDetails.sub_dependencies_to_avoid用法及代碼示例
- Ruby UndefinedConversionError.error_char用法及代碼示例
- Ruby URI.parse用法及代碼示例
- Ruby UID.change_privilege用法及代碼示例
- Ruby Util.unescape用法及代碼示例
- Ruby Util.url_encode用法及代碼示例
- Ruby UNIXSocket.new用法及代碼示例
- Ruby UNIXSocket.addr用法及代碼示例
- Ruby URI模塊用法及代碼示例
- Ruby UNIXServer.accept用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 UnboundMethod.bind。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。