代码之家  ›  专栏  ›  技术社区  ›  rtfminc

常量:rails::version::string

  •  1
  • rtfminc  · 技术社区  · 15 年前

    我知道如何找到我拥有的Rails版本:

    > Rails::VERSION::STRING
    > "2.3.2"
    
    • 有人能为我分解/解释rails::version::string吗?
    • 第一部分“Rails”是什么?
    • “::”是什么意思?
    • 这是一个全球常数吗?
    • 这和“Ruby”版本有什么不同?(结构,不是意义。不:“:”
    • 如何列出/查找所有全局常量?

    谢谢。

    1 回复  |  直到 15 年前
        1
  •  9
  •   Patrick McKenzie    15 年前

    Rails是一个模块。::与在模块对象上调用方法的点运算符相比,使您能够访问模块的静态成员或方法。(所有类都是Ruby中的对象。)字符串也是version的静态成员。

    它们的行为类似于全局常量(它们是常量,并且只有一个副本),但它们不是Ruby中该术语通常意义上的全局常量。它们是Rails模块上的静态字段。

    它们的作用域非常局部,以避免污染全局命名空间。Ruby_版本在全局命名空间中。由于它是一个核心语言特性,没有人会如此关心,以至于他们不能为自己的目的使用这个名称,但是其他的包应该避免把东西放在那里。

    “rails.constants”将为您提供其他rails常量。