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


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