крошки
![]() | |
Разработчик(и) | Юкихиро Мацумото и др. |
---|---|
Первоначальный выпуск | 20 апреля 2012 г |
Стабильная версия | |
Репозиторий | |
Написано в | С и Руби |
Операционная система | Кросс-платформенный |
Стандарт (ы) | ИСО/МЭК 30170:2012 |
Тип | Интерпретатор языка программирования Ruby |
Лицензия | МОЯ лицензия [3] |
Веб-сайт | крошки |
mruby — это интерпретатор языка программирования Ruby , который должен быть легким и легко встраиваемым. [4] [5] Проект возглавляет Юкихиро Мацумото , над проектом в настоящее время работают более 100 участников.
Функции
[ редактировать ]mruby 1.0 поддерживает основной API Ruby 2.1, но не поддерживает стандартную библиотеку. Помимо возможности выполнять большую часть базового кода Ruby, mruby также имеет компилятор байт-кода и виртуальную машину , а также возможность легкого встраивания и интеграции в код C или C++ аналогично Lua или Tcl .
мруби 2.0.0 [6] добавляет поддержку нескольких методов Ruby 2.x помимо Ruby 2.1. Версия 2.0.0 также изменена на формат инструкций байт-кода переменной длины.
Байт-код mruby может быть встроен в код C и, таким образом, скомпилирован в отдельный исполняемый файл. [7]
Мруби тоже стремится [4] соответствовать стандарту ISO/IEC 30170:2012. [8]
Примеры
[ редактировать ]Вызов 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 и заголовочные файлы установлены, программу можно скомпилировать и выполнить, выполнив из терминала следующие команды: [9]
$ cc example.c -lmruby -lm -o example $ ./example
Предварительно скомпилированный байт-код
[ редактировать ]mruby включает в себя минималистическую виртуальную машину, используемую для выполнения байт-кода mruby , по прозвищу ritevm :
$ mrbc test.rb $ mruby -b test.mrb
Первая команда компилирует код Ruby в байт-код mruby, создавая файл с именем «test.mrb», который затем можно выполнить, добавив флаг «-b» к обычным аргументам интерпретатора. [10]
Ссылки
[ редактировать ]- ^ «Выпуск 3.3.0» .
- ^ «выпущена mruby 3.3.0» .
- ^ «ЛИЦЕНЗИЯ» . Гитхаб . Проверено 6 сентября 2019 г.
- ^ Jump up to: а б "мруби/мруби" . Гитхаб . Проверено 30 апреля 2018 г.
- ^ анонсированы mruby и MobiRuby
- ^ «выпущен mruby 2.0.0» . mruby.org . Проверено 1 апреля 2019 г.
- ^ «Выполнение кода Ruby с помощью mruby» . mruby.org . Проверено 1 апреля 2019 г.
- ^ «ИСО/МЭК 30170:2012» . ИСО . Проверено 1 апреля 2019 г.
- ^ Аймонетти, Мэтт (25 апреля 2012 г.). «Начало работы с mruby» . Проверено 29 декабря 2013 г.
- ^ компьютерщик (30 октября 2012 г.). «Введение в Mini Ruby» . Проверено 29 декабря 2013 г.