【问题标题】:Ruby Constants and NamespacingRuby 常量和命名空间
【发布时间】:2013-02-27 14:28:27
【问题描述】:

下面2个sn-ps的代码有区别吗?

# 1st snippet
class A
  class B
    # some code here
  end
end

# 2nd snippet
class A::B
  # some code here
end

如果有区别,您能帮我了解区别是什么以及为什么要使用一个版本而不是另一个版本吗?

【问题讨论】:

    标签: ruby namespaces constants


    【解决方案1】:

    这似乎主要是用于组织代码的语法糖 - 无论哪种方式对您有意义都是“正确”的方式。唯一的例外是,对于第二个 sn-p,如果尚未定义 class A,您将收到错误消息。在大多数情况下,这个问题与this one 重复,但由于您在类中嵌套类而不是模块中的类,我将继续链接Module docs,它解释了模块和类之间的区别Ruby 并且可以帮助您在您自己的问题的上下文中解释那个 SO 答案。

    【讨论】:

      猜你喜欢
      • 2015-07-07
      • 1970-01-01
      • 2010-10-27
      • 2013-01-02
      • 2023-03-23
      • 2011-12-08
      • 2013-11-13
      • 1970-01-01
      • 2012-03-11
      相关资源
      最近更新 更多