Подтвердить что ты не робот

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

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

$ ruby -e 'puts RUBY_ENGINE'
ruby

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

4b9b3361

Ответ 1

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

| 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 для этой записи в блоге, которая имела наибольшее значение. Другие были найдены путем чтения этого и this. Еще больше значений было получено из других ответов здесь, в StackOverflow. Больше реквизитов для всех, кто внес свой вклад!

Ответ 2

также:

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