Mruby
![]() | |
作者 | まつもとゆきひろ |
---|---|
開発元 | まつもとゆきひろ |
初版 | 2012年4月20日 (12年前) (2012-04-20) |
最新版 | 3.3.0 / 2020年2月14日 (4年前) (2020-02-14)[1] |
リポジトリ |
![]() |
プログラミング 言語 | C言語、Ruby |
対応OS | クロスプラットフォーム |
種別 | Rubyインタプリタ |
ライセンス | MITライセンス |
公式サイト | mruby![]() |
テンプレートを表示 |
mruby (エムルビー) は、組み込みシステム向けの軽量なRuby言語処理系である[2]。このプロジェクトはRubyの開発者であるまつもとゆきひろがリーダーを務めており、100人以上がこのプロジェクトに貢献している。
機能
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]。
脚注
関連項目
![ポータル FLOSS](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Portal.svg/36px-Portal.svg.png)
ポータル FLOSS