2010-02-16 4 views

ответ

3

Доступ к константам в заданном классе или модуле. Например. ActiveRecord::Base - константа Base, определенная в модуле ActiveRecord.

9

Это называется оператором разрешения области. В принципе, причудливый способ ссылки на класс в пространстве имен. ActiveRecord - это пространство имен, а Base - класс.

+0

Что вам понравилось? Это нормальный способ сделать это. – Chuck

+0

@ Чак это правда. Я говорю о перспективах VB/C#. – Achilles

21

From the Pickaxe:

Когда приемник явно указан в вызове метода, он может быть отделен от имени метода с использованием либо период (.) или два (двоеточие ::). Единственное различие между этими двумя формами происходит, если имя метода начинается с буквы верхнего регистра. В этом случае Ruby будет считать, что вызов метода receiver::Thing на самом деле является попыткой получить доступ к константе с именем Thing в приемнике, если при вызове метода нет списка параметров между круглыми скобками.

+1

ничего не получил ........................................... – Liker777