Mruby

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

機能 
mruby 1.0ではRuby 2.1のコアAPIをサポートしているが、標準ライブラリはサポートしていない。
mrubyは基本的なRubyコードの実行に加えて、LuaのようにC言語やC++に簡単に組み込むことができるようになっている。

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

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

脚注

関連項目 

 Ruby

外部リンク 
 
 
  - まつもとゆきひろが理事長を務めるmrubyのNPO

Ruby
組み込みシステム
オープンソースソフトウェア
インタプリタ