Mruby

軽量なRuby処理系 From Wikipedia, the free encyclopedia

mruby (エムルビー) は、組み込みシステム向けの軽量なRuby言語処理系である[2]。このプロジェクトはRubyの開発者であるまつもとゆきひろがリーダーを務めており、100人以上がこのプロジェクトに貢献している。

開発元 まつもとゆきひろ
初版 2012年4月20日 (13年前) (2012-04-20)
最新評価版
ウィキデータを編集
安定版
3.4.0[1] / 2025年4月20日 (11か月前)
概要 作者, 開発元 ...
Mruby
 ウィキデータを編集
Mrubyのロゴマーク。
作者 まつもとゆきひろ
開発元 まつもとゆきひろ
初版 2012年4月20日 (13年前) (2012-04-20)
最新評価版
ウィキデータを編集
安定版
3.4.0[1] / 2025年4月20日 (11か月前)
リポジトリ ウィキデータを編集
プログラミング
言語
C言語Ruby
対応OS クロスプラットフォーム
プラットフォーム 組み込みシステム
前身 無し
対応言語 日本語・英語?
サポート状況 サポート中
種別 RubyインタプリタIoT・オープンソース
ライセンス MITライセンス
公式サイト mruby.org ウィキデータを編集
テンプレートを表示
閉じる

機能

mruby 1.0ではRuby 2.1のコアAPIを対応(サポート)しているが、逆に標準ライブラリは対応(サポート)していない。 mrubyは基本的なRubyコードの実行に加えて、スクリプト言語およびその処理系の実装であるLuaのようにC言語C++に簡単に組み込むことができる仕組み(仕様)である。

mrubyは「ISO/IEC 30170:2012」に準拠することを目標としている[2]

C言語からmrubyを呼び出す場合
#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;
}
以下のコマンドでコンパイルと実行ができる[3]
$ cc example.c -lmruby -lm -o example
$ ./example
プリコンパイルされたバイトコード
mrubyにはmrubyバイトコードを実行するための最小限の仮想マシンが組み込まれている。
$ mrbc test.rb
$ mruby -b test.mrb
最初のコマンドはRubyコードをmrubyバイトコードにコンパイルを実行し、「test.mrb」というファイルが生成される。このファイルはmrubyインタプリタにコマンドライン引数として「-b」を渡すことで実行することができる[4]

脚注

関連項目

外部リンク

Related Articles

Wikiwand AI