Mruby

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

Посилання

[ред. | ред. код]