Class
должен быть в нижнем регистре, для одного.
class User
TOTO = 1
TITI = 2
end
User::TOTO # 1
User::TITI # 2
User
, TOTO
и TITI
- все константы, причем User
ссылаются на класс, а TOTO
и TITI
хранятся в пространстве имен этого класса и оба ссылаются на целые числа.
В ruby у вас есть несколько типов переменных, каждый из которых идентифицируется начальным символом.
- локальные переменные начинаются со строчной буквы и доступны только в той области, в которой они впервые определены.
- константы начинаются с заглавной буквы и доступны внутри и через пространство имен (класс или модуль), в котором они определены.
- переменные экземпляра начинаются с одного знака
@
и доступны всякий раз, когда self
оценивает экземпляр, в котором была определена переменная экземпляра (обычно в методах экземпляра)
- переменные класса начинаются со знака
@@
и доступны, когда они находятся внутри класса, который их впервые определил, или любого из его подклассов, или любого из их экземпляров.