Как мне найти переводчика ruby? - PullRequest
15 голосов
/ 12 мая 2010

Как найти путь к интерпретатору ruby ​​внутри скрипта ruby?

Пример сценария:

  #!/path/to/ruby
  puts `#{RUBY_INTERPRETER_PATH} -e "puts 'hi'"`
  #EOF

Где RUBY_INTERPRETER_PATH - мифический способ найти /path/to/ruby.

Это всего лишь пример. В этом случае я понимаю, что могу просто скопировать /path/to/ruby в сценарий, но я не хочу этого делать. Я хочу, чтобы это работало "правильно" независимо от того, что написано в строке #!. Даже если работает под Windows.

Ciao!

Ответы [ 2 ]

15 голосов
/ 19 июля 2013

В наши дни (1.9+) вы можете использовать встроенные методы (которые должны работать с Jruby и т. Д.), Например:

RbConfig.ruby или же Gem.ruby

$ irb --simple-prompt
>> RbConfig.ruby
=> "C:/installs/Ruby193/bin/ruby.exe"
>> Gem.ruby
=> "C:/installs/Ruby193/bin/ruby.exe"
15 голосов
/ 12 мая 2010

Чтобы получить путь к текущему интерпретатору ruby:

require 'rbconfig'
RUBY_INTERPRETER_PATH = File.join(RbConfig::CONFIG["bindir"],
                                  RbConfig::CONFIG["RUBY_INSTALL_NAME"] +
                                  RbConfig::CONFIG["EXEEXT"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...