例如,我有文件 list.rb
module List
class Base
#...
end
end
所以在外部文件中,这个类可以作为 List::Base
访问。
假设我创建了另一个文件 list_base_extension.rb
我能做到:
module List
class BaseExtension < Base
#...
end
end
或者
class BaseExtension < List::Base
end
这是否相等?
或者那么BaseExtension就不会被认为是模块的一部分,而是直接继承自List::Base
?
最佳答案
不,这不相等。如果你使用
module List
class BaseExtension < Base
end
end
您定义了一个名为 List::BaseExtension
的类,它继承自 List::Base
。相反,用
class BaseExtension < List::Base
end
您定义了一个名为 BaseExtension
的类,它继承自 List::Base
。该类将在 List
的范围之外定义。
关于ruby - Ruby 中带有内部类的模块声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34598081/