Тип | інтерпретатор 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 — вбудовуваний інтерпретатор динамічної об'єктно-орієнтованої мови програмування Ruby. Mruby забезпечує сумісність синтаксису на рівні Ruby 1.9, але також підтримує окремі можливості з новіших версій. Інтерпретатор відрізняється низьким споживанням пам'яті і можливістю вбудовування в інші застосунки. Крім того, підтримується компіляція Ruby-програм в байт-код за допомогою компілятора mrbc, що розвивається проектом.
Код mruby поширюється під ліцензією MIT.
#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]