В чем основные различия между Ruby 1.8.6 и 1.9.1?

Возможный дубликат:
В чем разница между Ruby 1.8 и Ruby 1.9

Я обнаружил некоторые различия в интерпретации глобальных и локальных переменных.

Может ли кто-нибудь указать мне на список основных отличий?


person themoah    schedule 09.11.2010    source источник


Ответы (2)


Это, наверное, самые важные изменения:

  • Ruby 1.9 изменился с интерпретации на компилируемый по байт-коду (с использованием виртуальной машины YARV).

  • Класс String был полностью переработан, чтобы сделать его совместимым с кодировкой.

  • Регулярные выражения теперь реализуются с использованием движка Oniguruma, а не самодельного, используемого в Ruby 1.8, что позволяет использовать новые функции, такие как отрицательный взгляд.

  • Библиотека enumerator из stdlib была добавлена ​​в ядро, и большинство Enumerable методов были изменены, чтобы возвращать Enumerator при вызове без блока.

  • Symbol#to_proc был добавлен.

  • Появился новый синтаксис лямбда-выражений ->, который позволяет использовать аргументы по умолчанию и лямбда-выражения, принимающие блоки.

Более полный список изменений можно найти здесь.

person sepp2k    schedule 09.11.2010

Одним из важных моментов может быть то, что они используют другую виртуальную машину (по крайней мере, «стандартные» дистрибутивы, очевидно, есть несколько вариантов, таких как MacRuby, IronRuby и т. Д.). Подробную информацию обо всех изменениях можно найти здесь.

person philosodad    schedule 09.11.2010
comment
благодаря. Еще не трогал mac \ iron \ jruby - незачем. Только переезд в RoR - person themoah; 09.11.2010