mruby導入メモ

組込みでスクリプト言語を使うことには消極的だったのですが、このところC++でWebAPIサーバを実装する苦行の日々で、少々C++に倦んできました。ここらでmrubyなどやってみようかと思い立ちました。まずはPCのUbuntu上で使って感じを掴んでみようと思います。もちろん最終的には組込みで使うのが目的。

ビルド

PCのUbuntu 12.04上に構築しました。ビルドにrakeを用いるのでrubyがインストールされている必要があります。rubyは1.9系以降が吉です。1.8系は凶です。mrubyのソースをgitで落とすとminirakeというrakeのサブセット版が同梱されています。makeを実行すると、minirakeによってビルドが行なわれます。

$ sudo aptitude install git-core build-essential zlib1g-dev libssl-dev libreadline6-dev bison
$ git clone https://github.com/mruby/mruby.git
$ cd mruby
$ make

インストール

ビルドが成功したら、bin/以下のファイルを適当なディレクトリにコピーして、PATHを通しておきます。

$ sudo mkdir -p /usr/local/mruby/bin
$ sudo cp bin/* /usr/local/mruby/bin/
$ echo 'PATH=${PATH}:/usr/local/mruby/bin' >> ~/.bashrc
$ source ~/.bashrc

mirb(対話モード)

$ mirb
mirb - Embeddable Interactive Ruby Shell

> puts "Hello, world!"
Hello, world!
 => nil
> quit
$ 

mruby(インタプリタで実行)

hoge.rb

puts "Hello, world!"
$ mruby hoge.rb
Hello, world!

mrbc(コンパイルする)

$ mrbc hoge.rb
$ mruby -b hoge.mrb 
Hello, world!