Какие значения для RUBY_ENGINE соответствуют реализациям Ruby?

Известный мне метод обнаружения реализации Ruby (например, MRI, JRuby, Rubinius и т. д.) во время выполнения заключается в проверке глобальной константы RUBY_ENGINE:

$ ruby -e 'puts RUBY_ENGINE'
ruby

Каков достаточно полный список известных реализаций Ruby и соответствующих им значений для RUBY_ENGINE?


person jwfearn    schedule 27.03.2012    source источник


Ответы (2)


Вот что я нашел до сих пор:

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

Поддерживаю Ujihisa за эту запись в блоге, которая имеет наибольшее количество значений. Другие были найдены путем чтения этого и это. Еще больше значений было собрано из других ответов здесь, в StackOverflow. Больше реквизита для всех, кто внес свой вклад!

person jwfearn    schedule 27.03.2012

Также:

| RUBY_ENGINE | Implementation    |
|:-----------:|:------------------|
| "ruby"      | REE               |
| "maglev"    | MagLev            |
person Sébastien Le Callonnec    schedule 28.03.2012