2012-03-27 9 views
12

Il metodo che conosco per rilevare Ruby implementazione (ad esempio, la risonanza magnetica, JRuby, Rubinius, etc.) in fase di esecuzione è quello di verificare il globale costante RUBY_ENGINE:Quali valori per RUBY_ENGINE corrispondono a quali implementazioni di Ruby?

$ ruby -e 'puts RUBY_ENGINE' 
ruby 

Che cosa è una lista abbastanza completa di note implementazioni di Ruby e i loro valori corrispondenti per RUBY_ENGINE?

risposta

20

Ecco quello che ho trovato finora:

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

collegamenti per le implementazioni di Ruby di cui sopra:

Props a Ujihisa per this blog entry che hanno avuto maggior parte dei valori. Altri sono stati trovati leggendo this e this. Ancora più valori sono stati raccolti da altre risposte qui su StackOverflow. Più oggetti di scena per tutti coloro che hanno contribuito!

2

anche:

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