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

    Сегодня, 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


    Новость на официальном сайте
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 38
    • +5
      Еще эксперементальная поддержка refinements. Всё-таки включили.
    • +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?
                              • 0
                                Ничего не заметил по вопросу производительности, улучшилось ли? Есть цифры?
                              • +3
                                Everybody dance now!

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