我见过this thread,但我的问题可能更基本:
鉴于该线程[1]中接受的答案的回复对我来说是"/Users/username/.rvm/rubies/ruby-2.3.0/bin/ruby"
,我怎么知道那是MRI,JRuby等?如果它是其他主要口译人员会是什么样子?
[1]保存几秒钟,RbConfig.ruby
答案 0 :(得分:3)
如今,所有主流Ruby实现都设置了RUBY_ENGINE
伪常量。我能记住的各种实现的值是:
rbx
jruby
truffleruby
opal
mruby
ruby
ruby
maglev
ironruby
macruby
topaz
答案 1 :(得分:3)
根据the thread in the ruby-forum,我的工作形式为Ruby
:
irb(main):010:0> RbConfig.ruby
=> "/Users/<user>/.rbenv/versions/2.1.2/bin/ruby"
irb(main):011:0> RbConfig::CONFIG["RUBY_INSTALL_NAME"]
=> "ruby"
和JRuby
:
RbConfig.ruby
=> "/Users/<user>/.rbenv/versions/jruby-9.1.8.0/bin/jruby"
irb(main):008:0> RbConfig::CONFIG["RUBY_INSTALL_NAME"]
=> "jruby"
根据您安装不同ruby版本的方式,您可以使用安装路径中的差异(JRuby
有前缀)或使用RbConfig::CONFIG["RUBY_INSTALL_NAME"]
。
要查看所有配置键,请键入:
RbConfig::CONFIG.keys