mruby

mruby
Типінтерпретатор Ruby
РозробникYukihiro Matsumoto et al.
Перший випуск20 квітня 2012 (2012-04-20)
Стабільний випуск3.0 (5 березня 2021 (2021-03-05)[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.

Приклади використання

Виклик 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]

Виноски

  1. ↑ mruby 3.0.0. Архів оригіналу за 5 березня 2021. Процитовано 5 березня 2021.
  2. ↑ LICENSE. Github. Архів оригіналу за 21 лютого 2022. Процитовано 6 вересня 2019.
  3. ↑ Aimonetti, Matt (25 квітня 2012). Getting started with mruby. Архів оригіналу за 26 січня 2021. Процитовано 29 грудня 2013.
  4. ↑ geekmonkey (30 жовтня 2012). An introduction to Mini Ruby. Архів оригіналу за 7 липня 2015. Процитовано 29 грудня 2013.

Посилання