让我们考虑一个非常长的模块路径中的类:
sux = Really::Long::Module::Path::Sucks.new
我可以以某种方式“导入”这个模块,我可以使用该类而不必担心每次使用它时都会写这条路径吗?
编辑:我知道在同一个模块中让事情变得更容易。但在这种情况下,我无法进入同一模块。
答案 0 :(得分:4)
模块是ruby中的一个对象,因此您只需要对较短的模块进行引用。
Sux = Really::Long::Module::Path::Sucks
Sux.new
答案 1 :(得分:3)
在你班上:
include Really::Long::Module::Path
这基本上将所有模块的常量/方法混合到包含类中,因此您可以直接使用Sucks
类:
sux = Sucks.new
答案 2 :(得分:2)
module A; module B; module C; module D
class E; end
end; end; end; end
class Sanity
include A::B::C::D
puts E.new.object_id
end