例如我有这段代码:
module ExampleModule
def self.module_method
end
def normal_method
end
end
如果我尝试拨打ExampleModule.instance_methods
,我只能看到normal_method
。我也在singleton_class
中搜索过,但看起来Ruby并没有将类方法放在singleton class
中:
ExampleModule.singleton_class.each do |method|
print method
end
如何看self.module_method
(只有这个方法,而不是模块ExampleModule的其他父方法)。
由于
答案 0 :(得分:5)
ExampleModule.methods(false)
#=> [:module_method]
ExampleModule.singleton_class.instance_methods(false)
#=> [:module_method]
ExampleModule.instance_methods(false)
#=> [:normal_method]