Разработчики) | Юкихиро Мацумото и др. |
---|---|
Начальная версия | 20 апреля 2012 г . |
Стабильный выпуск | 2.1.0 / 19 ноября 2019 г . [1] |
Репозиторий | |
Написано в | Си и Руби |
Операционная система | Кроссплатформенность |
Стандарт (ы) | ISO / IEC 30170: 2012 |
Тип | Интерпретатор языка программирования Ruby |
Лицензия | Лицензия MIT [2] |
Веб-сайт | mruby |
mruby - это интерпретатор языка программирования Ruby, который должен быть легким и легко встраиваемым. [3] [4] Проект возглавляет Юкихиро Мацумото , над проектом в настоящее время работают более 100 участников.
Особенности [ править ]
mruby 1.0 поддерживает базовую точку доступа Ruby 2.1, но не поддерживает стандартную библиотеку. Помимо возможности выполнять самый базовый код Ruby, mruby также имеет компилятор байт-кода и виртуальную машину , а также возможность легко встраиваться и интегрироваться в код C или C ++ аналогично Lua или Tcl .
mruby 2.0.0 [5] добавляет поддержку нескольких методов Ruby 2.x помимо Ruby 2.1. v2.0.0 также изменен на формат инструкций байт-кода переменной длины.
Байт-код mruby может быть встроен в код C и, таким образом, может быть скомпилирован в отдельный исполняемый файл. [6]
mruby также стремится [3] соответствовать стандарту ISO / IEC 30170: 2012. [7]
Примеры [ править ]
Вызов Мруби из C [ править ]
#include <stdio.h>#include <mruby.h>#include <mruby / compile.h>int main ( void ) { mrb_state * mrb = mrb_open (); char code [] = "5 раз {ставит 'mruby is awesome!' } " ; printf ( "Выполнение кода Ruby с помощью mruby: \ n " ); mrb_load_string ( mrb , код ); mrb_close ( mrb ); возврат 0 ; }
Предполагая, что у вас установлен mruby и на вашем пути, следующая программа может быть скомпилирована и запущена с помощью следующей команды из вашего терминала: [8]
$ cc example.c -lmruby -lm -o пример$ ./example
Предварительно скомпилированный байт-код [ править ]
mruby включает в себя минималистичный виртуальную машину , используемую для выполнения mruby байткодом , прозванный ritevm :
$ mrbc test.rb$ mruby -b test.mrb
Первая команда компилирует код Ruby в байт-код mruby, создавая файл с именем «test.mrb», который затем можно выполнить, добавив флаг «-b» к обычным аргументам интерпретатора. [9]
Ссылки [ править ]
- ^ "Мрубые релизы" . Проверено 8 января 2020 г. - через GitHub .
- ^ «ЛИЦЕНЗИЯ» . Github . Проверено 6 сентября 2019 .
- ^ a b "мрубы / мрубы" . GitHub . Проверено 30 апреля 2018 .
- ^ объявили mruby и MobiRuby
- ^ "Выпущен mruby 2.0.0" . mruby.org . Проверено 1 апреля 2019 .
- ^ «Выполнение кода Ruby с помощью mruby» . mruby.org . Проверено 1 апреля 2019 .
- ^ 14: 00-17: 00. «ISO / IEC 30170: 2012» . ISO . Проверено 1 апреля 2019 .CS1 maint: числовые имена: список авторов ( ссылка )
- ^ Aimonetti, Мэтт (2012-04-25). «Начало работы с мруби» . Проверено 29 декабря 2013 .
- ^ geekmonkey (2012-10-30). «Введение в Mini Ruby» . Проверено 29 декабря 2013 .