Trầ*_* Dự 0 ruby metaprogramming
例如,我有这个代码:
module ExampleModule
def self.module_method
end
def normal_method
end
end
Run Code Online (Sandbox Code Playgroud)
如果我试着打电话 ExampleModule.instance_methods,我只能看到normal_method.我也搜索过,singleton_class但看起来Ruby没有把类方法放在里面singleton class:
ExampleModule.singleton_class.each do |method|
print method
end
Run Code Online (Sandbox Code Playgroud)
怎么看self.module_method(只有这个方法,而不是模块ExampleModule的其他父方法).
谢谢
ExampleModule.methods(false)
#=> [:module_method]
ExampleModule.singleton_class.instance_methods(false)
#=> [:module_method]
ExampleModule.instance_methods(false)
#=> [:normal_method]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |