Что означает ::
Среднее значение в Ruby? Например. Foo::Bar
.Что означает :: (двойной двоеточие) в Ruby?
ответ
Доступ к константам в заданном классе или модуле. Например. ActiveRecord::Base
- константа Base
, определенная в модуле ActiveRecord
.
Это называется оператором разрешения области. В принципе, причудливый способ ссылки на класс в пространстве имен. ActiveRecord - это пространство имен, а Base - класс.
Когда приемник явно указан в вызове метода, он может быть отделен от имени метода с использованием либо период (
.
) или два (двоеточие::
). Единственное различие между этими двумя формами происходит, если имя метода начинается с буквы верхнего регистра. В этом случае Ruby будет считать, что вызов методаreceiver::Thing
на самом деле является попыткой получить доступ к константе с именемThing
в приемнике, если при вызове метода нет списка параметров между круглыми скобками.
ничего не получил ........................................... – Liker777
Что вам понравилось? Это нормальный способ сделать это. – Chuck
@ Чак это правда. Я говорю о перспективах VB/C#. – Achilles