2
已經在Ruby中工作了一段時間,但通常在Rails的上下文中。我現在使用它來做一些部署腳本,並且我發現自己正在尋找一個不可變的不可變引用。Ruby中是否有'const指針'?
在C++中,我有(我已經很多年沒有碰到C++,所以大家多多包涵)
const int x = 5;
const int * const i = &x;
這會給我一個變量,它會永遠指向我〜5我正在尋找一種方法來防止重新定義我。
在Ruby中,我有
i = 5.freeze
覆蓋第一常量,而不是第二。
i = 5
i = 6 # ideally generates an error or warning
這主要是爲了幫助程序防禦。任何類似的東西?
(是的,這個問題的根源是,我的劇本已經長得太大,需要在主要的方式進行重構,這是對積壓。)
我使用它在運行時生成/返回的值,但不是預先知道的值。這感覺真的很不自然。這可能是唯一的方法。它只會讓我的代碼看起來「不太好」。 –
@JohnHinnegan我編輯了我的答案,以顯示如何動態定義一個常量,並在已經定義的情況下得到警告。 – Phrogz