我在几个模块中有一个类:This::Is::A::Long::ClassName
。有没有办法在一个脚本或方法中使 ClassName
可用而无需引用命名空间?而不是写:
This::Is::A::Long::ClassName.do_something
This::Is::A::Long::ClassName.do_something_else
This::Is::A::Long::ClassName.do_something_different
有以下可能吗?
include This::Is::A::Long
ClassName.do_something
ClassName.do_something_else
ClassName.do_something_different
最佳答案
如果您将模块用于命名空间,您发布的代码应该可以工作,请参见以下示例:
module Long
module Name
class ClassName
end
end
end
ClassName
# => ... uninitialized constant ClassName (NameError)
include Long::Name
ClassName
# => Long::Name::ClassName
关于ruby - 在不明确提及其 namespace 的情况下引用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20993827/