Possibile duplicato:
Generare un'eccezione quando si riassegna una costante in Ruby?
Quando usiamo una parola maiuscola in rubino, è una costante: CONSTANT = "alive"
. Quando modifico questa costante "presunta", dà un errore, ma lo modifica comunque:
(irb):27: warning already initialized constant CONSTANT
=> "13"
.
Sembra un comportamento strano. Se sto progettando un gioco e ho bisogno di un valore per essere costante, dì: Cheatcode_health = true
e per caso, il valore viene assegnato come false
o 0
, sarebbe un comportamento insolito. Potrebbero esserci molte implicazioni. Insomma c'è una vera costante in Ruby?
risposte:
2 per risposta № 1Ruby è un linguaggio molto permissivo. Non è possibile generare un errore se si riassegna una costante.
L'unica soluzione è creare un metodo personalizzato per assegnare valori alle costanti e fare in modo che questo metodo esegua il controllo.
Altre domande correlate:
- Generare un'eccezione quando si riassegna una costante in Ruby?
- Puoi chiedere a Ruby di trattare gli avvisi come errori?