2011-03-15 80 views
-1

可能重複:
Throw exception when re-assigning a constant in Ruby?Ruby常量有一種方法可以有真正的常量..?

當我們使用紅寶石大寫字母的單詞,它是一個常數:CONSTANT = "alive"。當我修改這個「假設」常量時,它會給出錯誤,但仍會對其進行修改:

(irb):27: warning already initialized constant CONSTANT => "13"

這似乎是一種奇怪的行爲。如果我正在設計一款遊戲並且需要一個不變的價值,例如:Cheatcode_health = true,並且偶然發現該值被指定爲false0,這將是一種不尋常的行爲。可能會有很多影響。簡而言之,Ruby中有一個真正的常量嗎?

+1

如果當你這樣做傷害了,不這樣做。 – 2011-03-15 09:27:22

+1

請加標點符號,正確做大寫。很難看到句子的結尾。 – sawa 2011-03-15 09:52:57

回答

2

Ruby是一種非常寬容的語言。如果您重新分配常量,則無法提出錯誤。

唯一的解決方法是創建一個自定義方法爲常量分配值,並讓此方法爲您執行檢查。

其他相關問題:

+0

這個問題是重複的......是的,我如何關閉這個問題 – pankajdoharey 2011-03-15 09:30:06

+0

@pankaj:你需要3000個聲望才能投票結束問題。別擔心,我們最終會關閉它。 – 2011-03-15 09:50:15

相關問題