Вийшов Ruby 2.4.0-rc1
Опублікував naruse 12-12-2016
Переклав: Andrii Furmanets
Ми раді оголосити випуск Ruby 2.4.0-rc1.
Ruby 2.4.0-rc1 - це перший release candidate Ruby 2.4.0. Цей rc1 випущено, щоб отримати відгуки від спільноти. Не соромтеся надсилати відгуки , оскільки ви все ще можете виправити функції.
Впровадження покращення хеш-таблиці (від Vladimir Makarov)
Покращено внутрішню структуру хеш-таблиці (st_table) шляхом впровадження відкритої адресації та масиву порядку включення. Це покращення обговорювалося з багатьма людьми, особливо з Yura Sokolov.
Binding#irb: Запуск сесії REPL, подібної до binding.pry
Під час налагодження ви часто можете використовувати p для перегляду значення змінних.
З pry ви можете використовувати binding.pry у вашому додатку
для запуску REPL та виконання будь-якого коду Ruby.
r56624
вводить binding.irb, який поводиться так само з irb.
Об’єднання Fixnum та Bignum в Integer
Хоча ISO/IEC 30170:2012 не визначає деталей класу Integer, Ruby мав два видимі класи Integer: Fixnum та Bignum. Ruby 2.4 об’єднує їх в Integer. Всі C розширення, які торкаються класу Fixnum або Bignum, потребують виправлення.
Див. також тікет та слайди akr.
String підтримує відображення регістру Unicode
String/Symbol#upcase/downcase/swapcase/capitalize(!) тепер обробляють
відображення регістру Unicode замість лише відображення регістру ASCII.
Покращення продуктивності
Ruby 2.4 також містить наступні покращення продуктивності, включаючи зміни мови:
Array#max, Array#min
[x, y].max та [x, y].min оптимізовано, щоб не створювати тимчасовий масив
за певних умов.
Regexp#match?
Додано Regexp#match?, який виконує відповідність regexp без створення
об’єкта зворотного посилання та зміни $~ для зменшення виділення об’єктів.
Інші покращення продуктивності
Налагодження
Thread#report_on_exception та Thread.report_on_exception
Ruby ігнорує винятки в потоках, якщо інший потік явно не приєднується до них.
З report_on_exception = true,
ви можете помітити, якщо потік помер через необроблений виняток.
Надішліть нам відгук, що має бути за замовчуванням для report_on_exception
та про report-on-GC, який показує звіт, коли потік
збирається збирачем сміття без join.
Виявлення deadlock потоків тепер показує потоки з їхнім backtrace та залежністю
Ruby має виявлення deadlock навколо потоків очікування, але його звіт не включає достатньо інформації для налагодження. Виявлення deadlock Ruby 2.4 показує потоки з їхнім backtrace та залежними потоками.
Спробуйте та насолоджуйтеся програмуванням з Ruby 2.4.0-rc1, та надішліть нам відгук!
Інші помітні зміни з 2.3
- Підтримка OpenSSL 1.1.0 (припинення підтримки 0.9.7 або раніше)
- ext/tk тепер видалено з stdlib Функція #8539
- XMLRPC тепер видалено з stdlib Функція #12160
Див. NEWS або логи комітів для деталей.
З цими змінами, 2519 файлів змінено, 288606 додано(+), 83896 видалено(-) з Ruby 2.3.0!
Завантаження
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-rc1.tar.bz2
РОЗМІР: 12512729 байтів SHA1: a0439652a97a2406b691e8a1e586e2cf08c258ba SHA256: 3b156b20f9df0dd62cbeeb8e57e66ea872d2a5b55fabdef1889650122bcc2ea7 SHA512: b43902ac7794487197df55a45256819d2e7540b77f1ed4eb68def3e0473ee98860a400862075bafadbde74f242e1dfe36a18cd6fe05ac42aae1ea6dddc9978ce -
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-rc1.tar.gz
РОЗМІР: 14098505 байтів SHA1: 6b242f9ec7b908c9aa26e497440684ba06d86927 SHA256: e41ada7650eed2a5800534d1201ba7c88f1627085659df994f47ab4c5e327745 SHA512: 26d3c60483ce2d6eaabd7077085102fad6633f18cf5d772bacf6f563670030cb7bba22d54d8b7dfa5eac8b52990371c4a6ad1c095dff6f6b3a7bbe1a8ffb3754 -
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-rc1.tar.xz
РОЗМІР: 9930088 байтів SHA1: 7c404e8bec9859f708927f7203d4f42187e678b7 SHA256: 3f014b3186d10676da6c512d14c65db23ccc4bf200fed9d7c6f9a58fd1e3295b SHA512: 22e209e28da1f2394f50c0a7dd5d0d4d4c0c5a6b5b0b02260fad0267a0940b98f0e2b0f36a44f87d1612555cb3022f43cd136a5186c7f87650aa20264408d415 -
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-rc1.zip
РОЗМІР: 15785968 байтів SHA1: 7d82386434ccbb1701f2995286bf29c8b9179e01 SHA256: 14e6910e36618cddffeb22bad5f1052f907dc31ec93d4aa945bca0905d8a52c4 SHA512: 5dd89320d429e5bd5faf3709be7e5b70f7355304d6324d7ac13a69187e5f1446ad5988c8186bc33f4fea8934288294f9d16fea173f39b2b39967746c4b03d1d4
Коментар до випуску
Див. також розклад випуску та іншу інформацію:
Останні новини
Вийшов Ruby 3.2.10
Вийшов Ruby 3.2.10.
Опублікував hsbt 14-01-2026
Вийшов Ruby 4.0.1
Вийшов Ruby 4.0.1.
Опублікував k0kubun 13-01-2026
Вийшов Ruby 4.0.0
Ми раді повідомити про випуск Ruby 4.0.0. Ruby 4.0 представляє “Ruby Box” та “ZJIT”, а також додає багато покращень.
Опублікував naruse 25-12-2025
Новий вигляд документації Ruby
Слідом за ре-дизайном ruby-lang.org, ми маємо більше новин, щоб відсвяткувати 30-річчя Ruby: docs.ruby-lang.org має повністю новий вигляд завдяки Aliki — новій темі за замовчуванням для...
Опублікував Stan Lo 23-12-2025