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

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