Я вижу это во многих рубиновых скриптах, но не уверен, что это значит:
$:.unshift File.dirname(__FILE__)
Ответ 1
$: является просто ярлыком для $LOAD_PATH. __FILE__ - относительный путь к script. Это добавляет текущий каталог script в путь загрузки.
Ответ 2
ruby поставляется с набором предопределенных переменных:
$:
Массив содержит список мест для поиска скриптов Ruby и двоичных модулей путем загрузки или запроса. Сначала он состоит из аргументов для любых переключателей командной строки -I, за которыми следует библиотека Ruby по умолчанию, probabl "/usr/local/lib/ruby", а затем ".", Чтобы представлять текущий каталог. (Mnemonic: двоеточие - это разделители для переменной среды PATH.)