【问题标题】:What does Ruby's "class NewClass < ::OtherClass" syntax mean? [duplicate]Ruby 的“class NewClass < ::OtherClass”语法是什么意思? [复制]
【发布时间】:2016-03-05 21:13:57
【问题描述】:

我知道要在 Ruby 中使用类继承,使用以下语法:

class MyNewClass < SomeClass
...
end

我也知道命名空间中的嵌套是使用:: 标识的:

class SomeNameSpace::MyNewClass < SomeNameOtherSpace::SomeClass 
...
end

但是,下面的语法是什么意思呢?

class SomeNameSpace::MyNewClass < ::SomeClass 
...
end

我希望 ::SomeClass(所以在 :: 之前没有任何内容)是某事的简写,但它到底是什么意思?

【问题讨论】:

    标签: ruby syntax namespaces


    【解决方案1】:

    ::SomeClass 表示来自顶级命名空间的 SomeClass 类。 :: 专门用于从其他模块的深处引用顶级命名空间。

    【讨论】:

    • 所以这意味着如果我有一个模块覆盖,比如说,像MyHTMLFunModule::String 这样的基类之一,我仍然可以使用::String 来引用默认的String
    猜你喜欢
    • 1970-01-01
    • 2014-11-07
    • 2014-01-28
    • 2014-12-03
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    • 2011-07-27
    • 2016-03-28
    相关资源
    最近更新 更多