是否可以在Ruby中重新打开匿名模块?以下不起作用:
m = Module.new
module m
end
Run Code Online (Sandbox Code Playgroud)
"SyntaxError:(eval):2:类/模块名称必须为CONSTANT".
是.但你必须使用常数.
M = Module.new
module M
end
Run Code Online (Sandbox Code Playgroud)
你也可以M = m.
其他方式:
m = Module.new do
def self.foo1
1
end
end
m.class_eval do
def self.foo2
2
end
end
m.foo1 + m.foo2 #=> 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
164 次 |
| 最近记录: |