RUBY_ENGINE的哪些值对应于哪些Ruby实现?

时间:2012-03-27 16:58:43

标签: ruby jruby macruby rubinius

我知道在运行时检测Ruby 实现(例如,MRI,JRuby,Rubinius等)的方法是检查全局常量RUBY_ENGINE

$ ruby -e 'puts RUBY_ENGINE'
ruby

什么是已知的Ruby实现的相当全面的列表及其对应的RUBY_ENGINE值?

2 个答案:

答案 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道具。 通过阅读thisthis找到了其他人。在StackOverflow上从其他答案中收集了更多的值。给所有贡献者的更多道具!

答案 1 :(得分:2)

此外:

| RUBY_ENGINE | Implementation    |
|:-----------:|:------------------|
| "ruby"      | REE               |
| "maglev"    | MagLev            |