У меня есть рубиновый файл, у которого нет расширения .rb
, и вместо этого он идентифицируется как ruby-код с shebang в начале файла: #!/usr/bin/env ruby
. Я хочу require
код в этом файле в другом рубиновом файле, но у него, похоже, проблема, потому что require
автоматически добавляет расширение .rb
к файлам, которые он ищет. Есть ли способ подавить это поведение и заставить требовать только поиск файла по имени?
Требовать рубиновый файл без расширения .rb?
Ответ 1
Вместо этого используйте load
:
load 'file-name'
Ответ 2
У нас есть сценарии, которым пользователи могут звонить, к которым обращаются с помощью символических ссылок. Символы существуют в нашем каталоге /usr/local/bin, который автоматически включается в их путь через незначительную настройку в /etc/profile.
Наши реальные скрипты существуют в отдельном каталоге, используя обычное имя Ruby, заканчивающееся на ".rb". Мы можем получить доступ к тем, кто использует require
, если это необходимо.
/usr/local/bin/foo --> /usr/local/share/app_name/foo.rb