2010-02-15 195 views
1

這些變量是什麼?語法問題

Class User 
    TOTO = 1 
    TITI = 2 
end 

User::TOTO # 1 
User::TITI # 2 

指向文檔的任何鏈接? 謝謝,

回答

9

TOTOTITI被用戶類中分別定義爲常數與值1和2。

可以從用戶類本身內只提到他們作爲TOTOTITI

但是,如果你想從用戶類的外部訪問這些常量,那麼你必須使用類名作爲訪問這些常量以及這是你在做什麼,我猜,即User::TOTOUser:TITI

這裏是little tutorial on the constants

2

Class應該是小寫的一個。

class User 
    TOTO = 1 
    TITI = 2 
end 

User::TOTO # 1 
User::TITI # 2 

UserTOTOTITI都是常數,與User引用類,並TOTOTITI都被存儲在類的命名空間和引用都內的整數。

在ruby中,你有幾種類型的變量,全部由它們的起始字符標識。

  • 局部變量以小寫字母開頭,且僅是它們在第一限定的範圍內訪問。
  • 常量以大寫字母開頭,且是內和通過所述命名空間(類或模塊可訪問),它們中定義。
  • 實例變量開始具有單個@標誌,和是可訪問的,每當self的計算結果爲那EH實例變量中(內正常實例方法)定義實例
  • 類變量與@@開始簽署,並交流只要在首先定義它們的類內或它的任何子類或它們的任何實例中都可以使用。