我知道在运行时检测Ruby 实现(例如,MRI,JRuby,Rubinius等)的方法是检查全局常量RUBY_ENGINE
:
$ ruby -e 'puts RUBY_ENGINE'
ruby
什么是已知的Ruby实现的相当全面的列表及其对应的RUBY_ENGINE值?
答案 0 :(得分:20)
这是我到目前为止所发现的:
| RUBY_ENGINE | Implementation |
|:-----------:|:------------------|
| <undefined> | MRI < 1.9 |
| 'ruby' | MRI >= 1.9 or REE |
| 'jruby' | JRuby |
| 'macruby' | MacRuby |
| 'rbx' | Rubinius |
| 'maglev' | MagLev |
| 'ironruby' | IronRuby |
| 'cardinal' | Cardinal |
上述Ruby实现的链接:
向具有最多价值的this blog entry的Ujihisa道具。 通过阅读this和this找到了其他人。在StackOverflow上从其他答案中收集了更多的值。给所有贡献者的更多道具!
答案 1 :(得分:2)
此外:
| RUBY_ENGINE | Implementation |
|:-----------:|:------------------|
| "ruby" | REE |
| "maglev" | MagLev |