作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试使用 Module.method_defined?(:method)
检查模块中是否定义了方法,它返回 false,应该返回 true。
module Something
def self.another
1
end
end
Something.methods
列出了“另一个”,但 Something.method_defined?(:another)
返回 false
。
这可能不起作用,因为该方法是在 self 上定义的吗?如果是这种情况,除了使用 method_defined?
之外,还有其他方法可以检查模块上是否定义了方法吗?
最佳答案
要知道模块是否有模块方法,可以使用respond_to?在模块:
Something.respond_to?(another)
=> true
方法定义?将告诉您包含模块的类的 INSTANCES 是否响应给定的方法。
关于ruby - 为什么没有 Module.method_defined?(:method) work correctly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1983860/
我正在尝试使用 Module.method_defined?(:method) 检查模块中是否定义了方法,它返回 false,应该返回 true。 module Something def sel
我是一名优秀的程序员,十分优秀!