::
Оператор дозволу області видимості. Те, що він робить, визначає, в якому обсязі модуль можна знайти. Наприклад:
module Music
module Record
end
module EightTrack
end
end
module Record
end
Для доступу Music::Record
ззовні Music
ви б використовували Music::Record
.
Для посилання Music::Record
від Music::EightTrack
вас можна просто використовувати, Record
оскільки це визначено в тому ж обсязі (що і Music
).
Однак для доступу до Record
модуля, відповідального за взаємодію з вашою базою даних, Music::EightTrack
ви не можете просто скористатися Record
тим, що Ruby вважає, що ви хочете Music::Record
. Ось коли ви будете використовувати оператор дозволу області видимості в якості префікса, вказавши глобальний / основний об'єм: ::Record
.