mruby
mruby — вбудовуваний інтерпретатор динамічної об'єктно-орієнтованої мови програмування Ruby. Mruby забезпечує сумісність синтаксису на рівні Ruby 1.9, але також підтримує окремі можливості з новіших версій. Інтерпретатор відрізняється низьким споживанням пам'яті і можливістю вбудовування в інші застосунки. Крім того, підтримується компіляція Ruby-програм в байт-код за допомогою компілятора mrbc, що розвивається проектом.
![]() | |
Тип | інтерпретатор Ruby |
---|---|
Розробник | Yukihiro Matsumoto et al. |
Перший випуск | 20 квітня 2012 |
Стабільний випуск | 3.0 (5 березня 2021[1]) |
Операційна система | крос-платформовий |
Мова програмування | C та Ruby |
Ліцензія | MIT License[2] |
Стандарт(и) | ISO/IEC 30170:2012 |
Репозиторій | github.com/mruby/mruby |
Вебсайт | mruby.org |
Код mruby поширюється під ліцензією MIT.
Приклади використання
Виклик mruby з C
#include <stdio.h>#include <mruby.h>#include <mruby/compile.h>int main(void) { mrb_state *mrb = mrb_open(); char code[] = "5.times { puts 'mruby is awesome!' }"; printf("Executing Ruby code with mruby:\n"); mrb_load_string(mrb, code); mrb_close(mrb); return 0;}
Мається на увазі, що ви вже встановленим mruby у доступну путь, тоді ця програма може бути відкомпільована і виконана такими командами з вашого термінала:[3]
$ cc example.c -lmruby -lm -o example$ ./example
Компіляція у байт-код
mruby включає мінімалістичну віртуальну машину ritevm, що використовується для виконання байт-коду mruby:
$ mrbc test.rb$ mruby -b test.mrb
Перша команда компілює початковий код Ruby у байт-код mruby, створюючи файл з назвою "test.mrb", який може потім бути виконаний додаванням опції "-b" до звичайних параметрів інтерпретатора.[4]