Включить файлы в командной строке с Ruby - PullRequest
6 голосов
/ 27 марта 2009

При запуске скриптов ruby ​​как таковых

ruby some-script.rb

Как бы я включил файл (например, файл конфигурации) в него динамически?

Ответы [ 5 ]

9 голосов
/ 27 марта 2009

Как вы обнаружили, опция -r - это ваш друг. Это также работает с IRB:

irb -ropen-uri

Будет так же, как require 'open-uri'

FWIW, самая распространенная вещь, которую мне нужно включить через командную строку, это rubygems. И поскольку новые версии ruby ​​поставляются со встроенными гемами, я не хочу редактировать файл, но включаю его для тестирования. К счастью, люди, которые создавали драгоценные камни, добавили немного сахара.

Вы можете сделать следующее:

ruby -rubygems myscript.rb

Вместо уродливого:

ruby -rrubygems myscript.rb

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

2 голосов
/ 27 марта 2009

На самом деле, я нашел это. Это запись командной строки -r.

1 голос
/ 27 марта 2009

Вы можете использовать:

require 'some_ruby_file'

в some-script.rb. Он загрузит some_ruby_file.rb.

0 голосов
/ 13 февраля 2018
 -r <library_name>

Это заставляет Ruby загружать библиотеку, используя require.

Это полезно при использовании вместе с -n или -p.

0 голосов
/ 03 февраля 2015

Перед тем, как позвонить require "somefile.rb", необходимо перейти к папке, в которой находится файл, или указать полный путь. Например: require "~/Documents/Somefolder/somefile.rb"

...