Рубиновые операторы точки и двойного двоеточия

Рубин. и :: операторы

В Ruby вы вызываете метод модуля, предваряя его имя именем модуля и точкой, и вы ссылаетесь на константу, используя имя модуля и два двоеточия.

:: является унарным оператором и используется для доступа (в любом месте вне класса или модуля) к константам, методам экземпляра и методам класса, определенным в классе или модуле.

Примечание: в Ruby классы и методы также могут считаться константами.

Вы должны префикс :: Const_name с выражением, которое возвращает соответствующий класс или объект модуля. Если префиксное выражение не используется, по умолчанию используется основной класс Object.

Вот пример:

  X = 0 # определена константа  on main Object classmodule Calculate X = 0 :: X = 10 # установить глобальный счетчик на 10 X = 20 # установить локальный счет на 20 конечных выходов X # это глобальная константаputs Calculate :: X # это локальная константа "Calculate"  

Вывод:

 abc.rb: 4: предупреждение: уже инициализированная константа Xabc.rb: 1: предупреждение: предыдущее определение X было здесь abc.rb:  5: предупреждение: уже инициализированная константа Calculate :: Xabc.rb: 3: предупреждение: предыдущее определение X было здесь1020 

Оцените статью
nanomode.ru
Добавить комментарий