Ruby требуется: Синтаксис файла

76
5

Почему в некоторых случаях для файла, использующего класс File в ruby, добавляется пустое пространство имен, такое как следующий код config.ru


require ::File.expand_path('../config/environment',  __FILE__)

а в других местах нет:


require File.expand_path('../../config/boot',  __FILE__)

Спасибо

спросил(а) 2012-09-26T21:40:00+04:00 7 лет, 9 месяцев назад
1
Решение
86

Оператор разрешения области видимости, явно заданный (как на первом шаге), гарантирует, что класс File будет загружен из глобального пространства имен.


Если модуль переопределил класс File в нем, то вторая версия будет выбирать его по глобальной.

В большинстве случаев это можно смело игнорировать, и вы можете предположить, что ваши классы загружаются глобальным пространством имен, даже если оператор разрешения области не определен

ответил(а) 2012-09-26T21:46:00+04:00 7 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема