Jump to content

крошки

крошки
Разработчик(и) Юкихиро Мацумото и др.
Первоначальный выпуск 20 апреля 2012 г .; 12 лет назад ( 20 апреля 2012 г. )
Стабильная версия
3.3.0 [1] [2]  Отредактируйте это в Викиданных / 14 февраля 2024 г .; 5 месяцев назад ( 14 февраля 2024 г. )
Репозиторий
Написано в С и Руби
Операционная система Кросс-платформенный
Стандарт (ы) ИСО/МЭК 30170:2012
Тип Интерпретатор языка программирования Ruby
Лицензия МОЯ лицензия [3]
Веб-сайт крошки .org Отредактируйте это в Викиданных

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]

  1. ^ «Выпуск 3.3.0» .
  2. ^ «выпущена mruby 3.3.0» .
  3. ^ «ЛИЦЕНЗИЯ» . Гитхаб . Проверено 6 сентября 2019 г.
  4. ^ Jump up to: а б "мруби/мруби" . Гитхаб . Проверено 30 апреля 2018 г.
  5. ^ анонсированы mruby и MobiRuby
  6. ^ «выпущен mruby 2.0.0» . mruby.org . Проверено 1 апреля 2019 г.
  7. ^ «Выполнение кода Ruby с помощью mruby» . mruby.org . Проверено 1 апреля 2019 г.
  8. ^ «ИСО/МЭК 30170:2012» . ИСО . Проверено 1 апреля 2019 г.
  9. ^ Аймонетти, Мэтт (25 апреля 2012 г.). «Начало работы с mruby» . Проверено 29 декабря 2013 г.
  10. ^ компьютерщик (30 октября 2012 г.). «Введение в Mini Ruby» . Проверено 29 декабря 2013 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3a07cb985d993ce2d08c13b9f4728fbe__1708177380
URL1:https://arc.ask3.ru/arc/aa/3a/be/3a07cb985d993ce2d08c13b9f4728fbe.html
Заголовок, (Title) документа по адресу, URL1:
mruby - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)