Mruby
作者 | まつもとゆきひろ |
---|---|
開発元 | まつもとゆきひろ |
初版 | 2012年4月20日 (12年前) (2012-04-20) |
最新版 | 3.0.0 - 2021年3月5日 (3年前) (2021-03-05)[1] [±] |
最新評価版 | 3.0.0 / 2020年10月16日 (3年前) (2020-10-16)[2] |
リポジトリ |
|
プログラミング 言語 | C言語、Ruby |
対応OS | クロスプラットフォーム |
種別 | Rubyインタプリタ |
ライセンス | MITライセンス |
公式サイト | mruby |
テンプレートを表示 |
mruby (エムルビー) は、組み込みシステム向けの軽量なRuby言語処理系である[3]。このプロジェクトはRubyの開発者であるまつもとゆきひろがリーダーを務めており、100人以上がこのプロジェクトに貢献している。
機能
mruby 1.0ではRuby 2.1のコアAPIをサポートしているが、標準ライブラリはサポートしていない。 mrubyは基本的なRubyコードの実行に加えて、LuaのようにC言語やC++に簡単に組み込むことができるようになっている。
mrubyは「ISO/IEC 30170:2012」に準拠することを目標としている[3]。
例
- 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; }
- 以下のコマンドでコンパイルと実行ができる[4]。
$ cc example.c -lmruby -lm -o example $ ./example
- プリコンパイルされたバイトコード
- mrubyにはmrubyバイトコードを実行するための最小限の仮想機械が組み込まれている。
$ mrbc test.rb $ mruby -b test.mrb
- 最初のコマンドはRubyコードをmrubyバイトコードにコンパイルを実行し、「test.mrb」というファイルが生成される。このファイルはmrubyインタプリタにコマンドライン引数として「-b」を渡すことで実行することができる[5]。
脚注
関連項目
ポータル FLOSS