Рубиновые переключатели командной строки-rubygems и-r несовместимый?

Bare * используется, чтобы заставить вызывающего пользователя использовать именованные аргументы, поэтому вы не можете определить функцию с * в качестве аргумента, если у вас нет следующих аргументов ключевого слова.

См. этот ответ или документации Python 3 для более подробной информации.

6
задан Purfideas 23 September 2008 в 21:31
поделиться

1 ответ

- rubygems является на самом деле тем же как-r ubygems.

Это не смешивает с Вашим путем поиска, насколько я понимаю, но я думаю, что это ничего не добавляет к Вашему-r пути поиска также. Я смог сделать что-то вроде этого:

ruby -rubygems -r /usr/lib/ruby/gems/myhelpfulclass-0.0.1/lib/MyHelpfulClass -e "puts MyHelpfulClass"

MyHelpfulClass.rb существует в каталоге lib, указанном выше.

Такой сосет, но это, по крайней мере, демонстрирует, что у Вас может быть несколько-r equire директивы.

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

export RUBYLIB=/usr/lib/ruby/gems/1.8/gems/myhelpfulclass-0.0.1/lib
ruby -rubygems -r MyHelpfulClass -e "puts MyHelpfulClass"

Если Вы не хотите смешивать с переменной среды, можно добавить, что что-то к загрузке соединяет себя каналом:

ruby -I /usr/lib/ruby/gems/1.8/gems/myhelpfulclass-0.0.1/lib \
   -rubygems -r MyHelpfulClass -e "puts MyHelpfulClass"
7
ответ дан 17 December 2019 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: