Доступен интерпретатор mruby 2.0
После 8 месяцев разработки состоялся релиз mruby 2.0, встраиваемого интерпретатора динамического объектно-ориентированного языка программирования Ruby. Mruby обеспечивает совместимость синтаксиса на уровне Ruby 1.9, но также поддерживает отдельные возможности из более новых версий. Интерпретатор отличается низким потреблением памяти и возможностью встраивания в другие приложения. Поддерживается компиляция Ruby-программ в байткод при помощи развиваемого проектом компилятора "mrbc" и преобразование полученнего байткода в код на языке Си. Код mruby распространяется под лицензиями BSD ("2-clause BSDL") и "Ruby", которая ссылается на последний вариант лицензии GPL и полностью совместима с GPLv3.
Новый выпуск включает в себя улучшения совместимости с Ruby 2.x и оптимизацию потребления памяти. Основные улучшения:
- Реализованы именованные аргументы (keyword arguments);
- Реализована деконструкция аргументов;
- В mruby-kernel-ext добавлен метод Kernelthen для Kernelyield_self (совместим с Ruby 2.6);
- В mruby-array-ext для обеспечения совместимости с Ruby 2.6 добавлена возможность вызова Arrayto_h в блоках и реализован метод Arrayunion;
- В mruby-string-ext добавлена возможность вызова Stringlines в блоках и добавлены методы Stringtr, Stringtr!, Stringtr_s, Stringtr_s!, Stringsqueeze, Stringsqueeze!, Stringcount, Stringdelete, Stringdelete;
- В ruby-pack добавлен метод Stringunpack1
- Уменьшено потребление памяти. Появился новый формат байткода.