Шаги Ruby в сторону замороженных строковых литералов

Следующая версия языка программирования Ruby, Ruby 3.4.0, была выпущена в виде предварительной версии и принесла изменения для строковых литералов и обновления классов.

Предварительная версия Ruby 3.4.0, представленная 16 мая, доступна для загрузки с сайта ruby-lang.org. С этим обновлением строковые литералы в файлах без комментария frozen_string_literal теперь ведут себя так, как если бы они были заморожены. При их изменении выдается предупреждение об устаревании. Это изменение - первый шаг к тому, чтобы сделать замороженные строковые литералы в Ruby по умолчанию. Замороженные или неизменяемые строки обладают преимуществами как в плане производительности, так и в плане безопасности.

Из других изменений в языке теперь поддерживается сплиттинг ключевого слова nil при вызове методов, а передача блоков и аргументы с ключевыми словами больше не допускаются в индексах.

В Ruby 3.4.0 также представлены два обновления основных классов. Во-первых, Exception#set_backtrace теперь принимает массивы Thread::Backtrace::Location, а Kernel#raise, Thread#raise и Fiber#raise также принимают этот новый формат. Во-вторых, Range#size теперь вызывает ошибку TypeError, если диапазон не является итерируемым.

Сообщения об ошибках и отображение бэктрейса были изменены для решения проблем совместимости. Разработчики теперь могут использовать одинарную кавычку вместо обратного тика в качестве открывающей кавычки. Также теперь разрешено отображать имя класса перед именем метода, если класс имеет постоянное имя.

Из других улучшений: для повышения производительности был переписан Array#each. Передача блока методу, который не использует переданный блок, теперь будет показывать предупреждение в режиме verbose. А переопределение некоторых методов ядра, которые специально оптимизируются интерпретатором и JIT, теперь будет выдавать предупреждение о классе производительности.

Ruby 3.4.0 следует за предшественниками, включая выпущенный в прошлом месяце релиз Ruby 3.2.4, в котором были исправлены ошибки безопасности, и релиз Ruby 3.3.0 от Рождества 2023 года, в котором был представлен парсер Prism. Сам Ruby был выпущен в 1995 году.

Шаги Ruby в сторону замороженных строковых литералов
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
18 мая 2024 г.
71
Теги: Ruby

Комментарии

Оставить комментарий:
* отправляя форму, я даю согласие на обработку персональных данных

Читайте еще