...

четверг, 26 декабря 2013 г.

Вышел Ruby 2.1


сегодня в 10:15


Спецификации Ruby обновились до версии 2.1.0. В новой версии языка программирования сделано несколько эволюционных изменений. В неофициальных бенчмарках на Rails версия 2.1 показывает результат примерно на 20% выше, чем 2.0, которая, в свою очередь, на 60-70% быстрее 1.9.3.

Вкратце, самые важные из них:



  • VM (кэширование методов)

  • новый сборщик мусора RGenGC (см. презентацию ko1 на RubyKaigi и на RubyConf 2013)

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


    • новая запись дробей с использованием двух слэшей ("//") между числителем и знаменателем, см. #8430


      • 1 // 2 == Rational(1, 2)

      • 1 // 1 == Rational(1, 1)

      • 0 // 1 == Rational(0, 1)



    • новые суффиксы i, r и ri для записи комплексных и рациональных чисел


      • "42r" и "3.14r" расцениваются как рациональное число Rational(42, 1) и 3.14.rationalize, соответственно. Но экспоненциальная форму с суффиксом 'r', такая как "6.022e+23r", не принимается.

      • "42i" и "3.14i" расцениваются как Complex(0, 42) и Complex(0, 3.14), соответственно.

      • "42ri" и "3.14ri" расцениваются как Complex(0, 42r) и Complex(0, 3.14r), соответственно.





  • определение функции def теперь возвращает символ её названия вместо nil, см. #3753




  • уточнения #8481 #8571

  • Bignum


    • использует GMP (GNU Multiple Precision Arithmetic Library) для ускорения операций над большими числами, см. #8796



  • добавлен метод Array#to_h — создание хэша из массива

  • String#scrub #8414

  • Socket.getifaddrs #8368

  • RDoc 4.1.0 и RubyGems 2.2.0

  • “literal”.freeze теперь оптимизирован #9042

  • добавлен Exception#cause #8257

  • обновлены библиотеки JSON, NKF, rake, RubyGems, и RDoc.

  • удалена библиотека curses. #8584




Ruby — высокоуровневый язык для быстрого и удобного объектно-ориентированного программирования. Его создатель Юкихиро Мацумото постарался совместить лучшие черты своих любимых языков Perl, Python, Smalltalk, Eiffel, Ada и Lisp в поисках грамотного баланса между функциональным и императивным программированием. Целью было создание языка, более мощного, чем Perl, и более объектно-ориентированного, чем Python. Основное назначение Ruby — создание простых и в то же время понятных программ, где важна не скорость работы программы, а малое время разработки, понятность и простота синтаксиса.

Мацумото занимается разработкой Ruby до сих пор, и версия 2.1.0 — это его рождественский подарок всем программистам.


Более подробный список изменений в 2.1.0 см. здесь, а также в презентации “All about Ruby 2.1”.





Developers, stick with Russians – work in London




Переводы с

карты на карту


Переводы

через QR-Код


Новая функция

«Мой контроль»




Возьми Lumia 925 на тест-драйв сейчас.




Впечатляющие возможности

в стильном тонком корпусе из металла




Boomburum

исследует LTE


Эволюция средств связи

в путешествии по России




Проблемы коммуникации внутри бизнеса?



Смотри бесплатные курсы

и выиграй Xbox




Нет времени

на счета?


MasterCard

Mobile



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


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Комментариев нет:

Отправить комментарий