我如何找到红宝石翻译?

doc*_*hat 16 ruby

在ruby脚本中,如何获取ruby解释器的路径?

示例脚本:

  #!/path/to/ruby
  puts `#{RUBY_INTERPRETER_PATH} -e "puts 'hi'"`
  #EOF
Run Code Online (Sandbox Code Playgroud)

RUBY_INTERPRETER_PATH神秘的寻找方式在哪里/path/to/ruby

不过,这只是一个例子.我意识到在这种情况下我可以复制/path/to/ruby到脚本中,但我不想这样做.无论#!线路说什么,我希望这个"正确"工作.即使在Windows下运行.

再见!

rog*_*ack 16

这些天(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"
Run Code Online (Sandbox Code Playgroud)


mck*_*eed 15

要获取当前运行的ruby解释器的路径:

require 'rbconfig'
RUBY_INTERPRETER_PATH = File.join(RbConfig::CONFIG["bindir"],
                                  RbConfig::CONFIG["RUBY_INSTALL_NAME"] +
                                  RbConfig::CONFIG["EXEEXT"])
Run Code Online (Sandbox Code Playgroud)

  • 来源:http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/151376 (2认同)