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