2013-07-04 46 views
2

您好,我剛剛加入的Ruby項目中遇到了一段有趣的代碼。我試圖谷歌解釋是什麼導致我正在經歷的行爲,但沒有任何運氣。在Ruby中請求類常量返回此類中的所有已定義值

我有類定義這樣

​​

在其他地方有呼籲值這樣的價值觀::首先 這將返回

1 
2 
3 

如果我把價值觀::二或值::第三它正確返回只有一個值。 有人可以解釋爲什麼它發生在以逗號字符結尾的行嗎? 謝謝你的回答。

回答

7

首先,這些常量不是類變量。

中的逗號表示這是一樣的

First = 1, Second = 2, Third = 3 

這是一樣的

First = 1, (Second=2), (Third=3) 

這臺第二和第三,但在其他方面一樣

First = 1,2,3 

其中第一組到第一組[1,2,3]

2

你的語法定義First爲一個數組,同時限定作爲Second2作爲Third在過程3。刪除逗號有First設置爲1

class Values 
    First = 1 
    Second = 2 
    Third = 3 
end 
+1

非常感謝您的解釋。 – lochness42

相關問題