Mrubyとは何? わかりやすく解説 Weblio辞書 (original) (raw)
mruby
![]() |
|
---|---|
作者 | まつもとゆきひろ |
開発元 | まつもとゆきひろ |
初版 | 2012年4月20日 (12年前) (2012-04-20) |
最新版 | 3.3.0 / 2020年2月14日 (4年前) (2020-02-14)[1] |
リポジトリ | github.com/mruby/mruby ![]() |
プログラミング言語 | C言語、Ruby |
対応OS | クロスプラットフォーム |
種別 | Rubyインタプリタ |
ライセンス | MITライセンス |
公式サイト | mruby.org ![]() |
テンプレートを表示 |
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]。
脚注
- ^ “Tags · mruby/mruby · GitHub”. GitHub. 2024年8月25日閲覧。
- ^ a b “mruby”. mruby.org. 2019年9月25日閲覧。
- ^ “Getting Started With Mruby”. 2018年7月19日閲覧。
- ^ “An Introduction to Mini Ruby”. 2018年7月19日閲覧。
関連項目
外部リンク
- 公式ウェブサイト
- mruby - GitHub
- 軽量Rubyフォーラム - まつもとゆきひろが理事長を務めるmrubyのNPO
表話編歴Ruby | ||
---|---|---|
実装 | MRI / YARV IronRuby JRuby MacRuby(英語版) MagLev(英語版) mruby mruby/c Rubinius(英語版) RubyMotion(英語版) | ![]() |
IDE | Komodo(英語版) NetBeans RadRails RubyMine(英語版) | |
アプリケーション | Capistrano Chef Hiki Homebrew irb Joruri mobileimap Puppet Rake Redmine RSpec(英語版) RubyGems Sass tDiary 影舞 島根県CMS | |
ライブラリフレームワーク | AspectR eRuby (RHTML) Merb Padrino Cocoa (API)RubyCocoa Ruby on Rails Shoes Sinatra Star Ruby QtRuby | |
サーバソフトウェア | mod_ruby(英語版) Mongrel(英語版) Phusion Passenger (mod_rails/mod_rack) Rack(英語版) WEBrick | |
その他 | Document format RubyKaigi Rubyアソシエーション Rubyライセンス まつもとゆきひろ | |
![]() ![]() ![]() |