2009-12-12 51 views
1

我知道如何找到rails的版本我有:?恆:導軌:: VERSION :: string的

> Rails::VERSION::STRING 
> "2.3.2" 
  • 有人能擊穿/解釋的Rails :: VERSION :: STRING」對我來說
  • 什麼是第一部分「Rails的」?
  • 什麼是「::」意味着/嗎?
  • 這是一個全局常量?
  • 是如何從「RUBY_VERSION」?(建築,不是這個不同含義。即沒有「::」)
  • 如何列出/查找所有全局常量?

謝謝。

+1

您還可以使用'Rails.version'獲取Rails版本。 – 2009-12-12 09:45:44

回答

9

Rails是一個模塊。 ::與調用模塊對象的方法的點運算符相比,您可以訪問模塊的靜態成員或方法。 (所有類都是Ruby中的對象。)STRING同樣是VERSION的靜態成員。

這些行爲就像全局常量(它們是常量,只有它們的一個副本),但它們不是Ruby中通用意義上的全局常量。它們是Rails模塊上的靜態字段。

它們的作用域如此本地化以避免污染全局名稱空間。 RUBY_VERSION在全局名稱空間中。由於它是核心語言功能,因此沒有人關心他們不能將這個名稱用於他們自己的目的,但其他軟件包應該避免將東西放在那裏。

'Rails.constants'會給你其他的Rails常量。