24 февраля 2013 в 15:42

Состоялся релиз Ruby 2.0.0

Ruby*
Сегодня, 24 февраля 2013 года, вышла новая версия Ruby 2.0.0-p0.
Это первый стабильный релиз новой мажорной ветки.
Давайте посмотрим, что же нового принес нам новый релиз.

Изменения в синтаксисе

  • Для повышения гибкости при проектировании API добавлены Keyword arguments.
  • Добавлен новый способ расширения класса Module#prepend
  • Литер %i теперь используется для быстрого и легкого создания символьного массива
  • __dir__ возвращает имя директории, из которой в данный момент исполняется файл
  • UTF-8 кодировка по умолчанию


Встроенные библиотеки

  • Enumerator#lazy
  • Новые методы Enumerator#size и Range#size для ленивых вычислений
  • Добавлено #to_h соглашение о преобразовании в Hash.
  • Onigmo в качестве нового движка регулярных выражений
  • Асинхронная обработка исключений API

Другие изменения

  • Поддержка DTrace и TracePoint
  • Различные улучшения производительности
  • В качестве эксперимента добавлены Refinements


Новость на официальном сайте
Ze Toke @Zetoke
карма
13,2
рейтинг 0,0
Похожие публикации
Самое читаемое Разработка

Комментарии (38)

  • +5
    Еще эксперементальная поддержка refinements. Всё-таки включили.
    • +1
      Черт, а ведь реально удобная штука.
      Руби няшка ^_^
    • +1
      Да, точно, я проморгал. Спасибо!
  • +1
    Жаль, конечно, что выгрузку/загрузку байткода не сделали.
    • +2
      Эволюционный релиз приуроченный ко дню рождения.
  • –1
    До введения #to_h от рубикода все еще попахивало питоном.
    • 0
      Пока его можно использовать только со Struct, толку немного. Для массивов по-прежнему придётся пользоваться жутким Hash[].
  • НЛО прилетело и опубликовало эту надпись здесь
    • +4
      Теперь настало время новой магии # encoding: US-ASCII :)
  • +3
    Посылаю лучи добра из соседнего лагеря змееводов.

    Хочу поинтересоваться, как у вас в сообществе ситуация с переходом на версию(и), ломающую(ие) совместимость? Народ консервативен или активно перекатывается?
    • +1
      Вроде как обещана 100% совместимость с 1.9, нет ломок.
      Скажу только за себя — я очень ждал 2.0, начал с 1.9.2, что наверное даже лучше, чем было начать с 1.8
      Вообще не испытывал ни разу каких-то затруднений при переходе на следующий релиз или патч, с библиотеками та же ситуация. По крайней мере я не сталкивался с особыми проблемами.
    • 0
      Переход с 1.8 на 1.9 был сравнимым с py 2 -> 3 по кол-ву изменений. И в общем-то миграцию на 1.9+ уже пережили. rails4 будет 1.9+ only.
  • 0
    Впечатляет, что вовремя, как и было обещано в «Оперативном плане»
    Заждались уж! :-)
    Мне вот что более всего нравится:
    Именованые аргументы

    Хороший подарок к юбилею языка! :-)
  • 0
    А под винду так x64 сборку и не запилили?
    • 0
      И не запилят, думаю. Зачем?
      • 0
        Ну вроде руби поддерживается под виндой. Рельсы и все нужные гемы — другой вопрос, но не каждому это нужно.
      • 0
        Ну что за вопрос, зачем? Зачем все остальные языки запиливают на x64? Зачем он в линуксе x64? Чтоб было. Если вдруг мелкософт ВНЕЗАПНО решит отпилить SysWOW64 (что они обещали сделать не так давно), будет что юзать. И вообще, для чистоты, так сказать.
        • 0
          Я спрашивал не «зачем 64», а «зачем 64 под виндой». Если совсем расширять вопрос, то будет «зачем руби под виндой», но кому-то ведь надо. Но я искренне надеюсь, что таже тем, у кого под виндой стоит руби, в голову не придет делать из винды руби-сервер, а значит 64 как-бы и нафиг не нужен, 32 хватит с головой. Но уже запилили, поэтому вопрос «зачем 64 под виндой» объявляется риторическим.
          • 0
            Ruby, как язык общего назначения, не обязательно означает веб-сервер. Так что не очень понятны ваши размышления. Дискриминация по ОСевому признаку какая-то.
    • 0
      github.com/oneclick/rubyinstaller

      ==== DevKit Compiler Toolchains:

      Compiler DKVER Values

      tdm tdm-32-4.7.1, tdm-32-4.6.1, tdm-64-4.7.1, tdm-64-4.6.1, tdm-32-4.5.2 (*)
      mingw mingw-32-4.6.2, mingw-32-3.4.5
      mingw64 mingw64-32-4.7.2, mingw64-64-4.7.2
      mingwbuilds mingwbuilds-32-4.7.2


      Если сильно захочется, можно самому собрать.
    • 0
  • 0
    Пошел делать бенчмарки.
  • –14
    Все ровно, Ruby и Python кодеры, вам нас не победить. Не качеством так количеством задавим :D
    • +2
      А вы-то это кто? По вашемю профилю судя, может окзаться Lua, PHP, Dart, Cocoa и Brainfuck. Это пугающе.
    • НЛО прилетело и опубликовало эту надпись здесь
      • –2
        Не думаю, что мои слова вообще стоило воспринимать серьезно. Смайл на конце предложения это как бы подчеркивал.
        • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Точно ровно? А не кривовато ли?
  • 0
    а есть книжка по Ruby 2?
    • +1
      • 0
        Есть!
  • 0
    Ничего не заметил по вопросу производительности, улучшилось ли? Есть цифры?
  • +3
    Everybody dance now!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.