2012-03-27 14 views
12

El método que conozco para detectar el Rubí aplicación (por ejemplo, resonancia magnética, JRuby, Rubinius, etc.) en tiempo de ejecución es comprobar lo global constante RUBY_ENGINE:¿Qué valores de RUBY_ENGINE corresponden a las implementaciones de Ruby?

$ ruby -e 'puts RUBY_ENGINE' 
ruby 

¿Qué es una lista bastante completa de ¿las implementaciones de Ruby conocidas y sus valores correspondientes para RUBY_ENGINE?

Respuesta

20

Aquí es lo que he encontrado hasta ahora:

| 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   | 

Enlaces para las implementaciones de Ruby antes mencionados:

Apoyos a Ujihisa para this blog entry que tenían la mayoría de los valores. Se encontraron otros leyendo this y this. Se han recopilado más valores de otras respuestas aquí en StackOverflow. ¡Más accesorios para todos los que han contribuido!

2

también:

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