为什么 Module.method_define?(:method) 不能正常工作?

2024-01-17

我正在尝试检查模块中是否定义了方法Module.method_defined?(:method)它返回 false,它应该返回 true。

module Something
  def self.another
    1
  end
end

Something.methods已列出“另一个”,但是Something.method_defined?(:another)回报false.

这可能不起作用,因为该方法是在自己定义的吗?如果是这种情况,除了使用之外,还有其他方法可以检查该方法是否在模块上定义吗method_defined??


要知道模块是否有模块方法,可以使用respond_to? 在 模块:

Something.respond_to?(another)
=> true

方法_定义?将告诉您包含模块的类的实例是否响应给定的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Module.method_define?(:method) 不能正常工作? 的相关文章

随机推荐