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.