mruby(エムルビー)は、
組み込みシステムでの利用を想定して開発された軽量な
Ruby言語処理系です。
Rubyの開発者である、まつもとゆきひろ氏がプロジェクトリーダーを務め、100名を超える開発者がプロジェクトに貢献しています。
機能
mrubyは、バージョン1.0の時点で
Ruby 2.1のコアAPIをサポートしていますが、標準
ライブラリは含まれていません。そのため、mrubyは
Rubyの基本的な構文や機能を提供しつつも、
組み込みシステムなどリソースに制約のある環境での利用に適した設計となっています。
また、mrubyの大きな特徴の一つとして、
C言語や
C++への組み込みが容易であることが挙げられます。
Luaのように、C/
C++のアプリケーションにmrubyを組み込んでスクリプト言語として利用することができます。これにより、システムの柔軟性を高め、開発効率を向上させることが期待できます。
mrubyは、国際標準規格「ISO/IEC 30170:2012」に準拠することを目標としています。これは、mrubyが国際的な基準を満たす、高品質なソフトウェアであることを意味します。
利用例
C言語からのmrubyの呼び出し
mrubyは、
C言語のプログラムから簡単に利用できます。例えば、`example.c`という
C言語のファイルでmrubyを利用する場合、以下のコマンドでコンパイルと実行を行うことができます。
bash
$ cc example.c -lmruby -lm -o example
$ ./example
この例では、`cc`コマンドで`example.c`をコンパイルし、mruby
ライブラリ(`-lmruby`)と数学
ライブラリ(`-lm`)をリンクしています。生成された`example`という実行ファイルを起動することで、mrubyがCプログラムの中で実行されます。
プリコンパイルされたバイトコード
mrubyには、mrubyバイトコードを実行するための軽量な
仮想機械が組み込まれています。これにより、
Rubyコードを事前にコンパイルし、バイトコード形式で実行することが可能です。例えば、`test.rb`という
Rubyファイルがある場合、以下のコマンドでコンパイルできます。
bash
$ mrbc test.rb
このコマンドを実行すると、`test.mrb`という名前のmrubyバイトコードファイルが生成されます。このファイルをmruby
インタプリタで実行するには、以下のように`-b`オプションを使用します。
bash
$ mruby -b test.mrb
このように、mrubyは
Rubyコードを直接実行するだけでなく、バイトコード形式で実行することで、より効率的な動作を実現しています。
脚注
mrubyは、その軽量性、組み込みやすさから、
組み込みシステムだけでなく、ゲーム開発やWebアプリケーション開発など、様々な分野での応用が期待されています。また、オープンソースプロジェクトであるため、誰でも自由に利用、開発に参加できます。
関連項目
Ruby
外部リンク
公式ウェブサイト
mruby - GitHub
軽量Rubyフォーラム - まつもとゆきひろ氏が理事長を務めるmrubyの
NPO
mrubyは、軽量かつ柔軟な
Ruby処理系として、
組み込みシステムの開発に新たな可能性をもたらしています。