Ruby: путь к файлу с использованием $ :. unshift (File.join ('DIR1', 'DIR2')) - PullRequest
1 голос
/ 05 марта 2012

я пытаюсь выяснить, что именно делают эти методы.

$:.unshift(File.join(APP_ROOT, 'lib'))

Я знаю его для путей к файлам, но если бы этот фрагмент кода был разбит на сегменты, как бы вы описали каждый из них?

До сих пор я понимал часть File.join, которая принимает два аргумента (переменную APP_ROOT и каталог 'lib'.) Затем она что-то отменяет?

Заранее спасибо.

1 Ответ

3 голосов
/ 05 марта 2012

$: это сокращение от Ruby до массива путей загрузки, то есть массив, полный путей, которые Ruby использует для поиска внешних файлов, когда их запрашивают (попробуйте запустить его в IRB).

В Ruby .unshift - это метод, который берет заданный путь (в данном случае, к чему разрешает File.join(APP_ROOT, 'lib')) и добавляет его к началу массива пути загрузки.

Таким образом, Ruby узнает, что нужно проверить путь APP_ROOT / lib в следующий раз, когда вы выполните строку require 'myfile' в другом месте приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...