8.17. Deklarowanie stałych
Problem
Chcemy uniemożliwić przypisywanie nowej wartości do zmiennej po jej zdefiniowaniu.
Rozwiązanie
Należy zmienną tę zadeklarować jako stałą. W języku Ruby za stałe uważane są te obiekty, których nazwy rozpoczynają się wielką literą. Niestety, nie da się w języku Ruby całkowicie uniemożliwić modyfikowania stałej, jednak każda taka modyfikacja zostaje opatrzona komunikatem ostrzegawczym (warning).
not_a_constant = 3 not_a_constant = 10 A_CONSTANT = 3 A_CONSTANT = 10 # warning: already initialized constant A_CONSTANT
Dyskusja
Mimo iż tylko pierwsza litera w nazwie obiektu stanowi podstawę do zakwalifikowania tego obiektu jako stałego, to zgodnie z tradycją języka Ruby zwykło się nie używać w nazwach ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.