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


Ruby Module.method_defined?用法及代碼示例


本文簡要介紹ruby語言中 Module.method_defined? 的用法。

用法

method_defined?(symbol, inherit=true) → true or false
method_defined?(string, inherit=true) → true or false

如果命名方法由 mod 定義,則返回 true 。如果設置了 inherit,則查找還將搜索 mod 的祖先。公共和受保護的方法是匹配的。 String 參數被轉換為符號。

module A
  def method1()  end
  def protected_method1()  end
  protected :protected_method1
end
class B
  def method2()  end
  def private_method2()  end
  private :private_method2
end
class C < B
  include A
  def method3()  end
end

A.method_defined? :method1              #=> true
C.method_defined? "method1"             #=> true
C.method_defined? "method2"             #=> true
C.method_defined? "method2", true       #=> true
C.method_defined? "method2", false      #=> false
C.method_defined? "method3"             #=> true
C.method_defined? "protected_method1"   #=> true
C.method_defined? "method4"             #=> false
C.method_defined? "private_method2"     #=> false

相關用法


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