我如何知道我使用的是哪个 Ruby 解释器?
How do I tell which Ruby interpreter I'm using?
我看过 this thread,但我的问题可能更基本:
鉴于该线程[1] 中接受的答案的响应是给我的,"/Users/username/.rvm/rubies/ruby-2.3.0/bin/ruby"
,我怎么知道那是 MRI、JRuby 等?如果是其他主要口译员,会是什么样子?
[1] 为了节省几秒钟,RbConfig.ruby
如今,所有主流 Ruby 实现都设置了 RUBY_ENGINE
伪常量。我能记住的各种实现的值是:
- 鲁比纽斯:
rbx
- JRuby:
jruby
- 松露Ruby:
truffleruby
- 蛋白石:
opal
- MRuby:
mruby
- YARV:令人困惑,
ruby
- MRI:更令人困惑的是,还有
ruby
- 磁悬浮:
maglev
- 铁Ruby:
ironruby
- MacRuby:
macruby
- 黄玉:
topaz
基于 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
我看过 this thread,但我的问题可能更基本:
鉴于该线程[1] 中接受的答案的响应是给我的,"/Users/username/.rvm/rubies/ruby-2.3.0/bin/ruby"
,我怎么知道那是 MRI、JRuby 等?如果是其他主要口译员,会是什么样子?
[1] 为了节省几秒钟,RbConfig.ruby
如今,所有主流 Ruby 实现都设置了 RUBY_ENGINE
伪常量。我能记住的各种实现的值是:
- 鲁比纽斯:
rbx
- JRuby:
jruby
- 松露Ruby:
truffleruby
- 蛋白石:
opal
- MRuby:
mruby
- YARV:令人困惑,
ruby
- MRI:更令人困惑的是,还有
ruby
- 磁悬浮:
maglev
- 铁Ruby:
ironruby
- MacRuby:
macruby
- 黄玉:
topaz
基于 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