Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以在 Ruby 中重新打开匿名模块?以下不起作用:
m = Module.new module m end
“SyntaxError: (eval):2: class/module name must be CONSTANT”。
是的。但是你必须使用一个常数。
M = Module.new module M end
你也可以这样做M = m。
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