せっかくRubyをやり始めたのに、Ruby on Railsだけしかやらないなんてつまらない。
なので、昔、ちょっとだけ触ったことのあるruby-processingをやってみようと思います。

一番簡単な方法としては

[code lang=text]
gem install ruby-processing
[/code]

があるらしい。でも、インストールできないことはないけど、古い状態のものになってしまうみたい。Processingは2.0以降からかなり使いやすくなってるので、どうせだったら、最新版を入れたいので、gitで持ってくる方法を試してみた。

ruby-processingをもっと知って更なるイケメンになろう

前準備

必要なコマンド群が揃ってるか確かめる。必要なのは

  • java
  • ruby
  • gem
  • rake
  • wget
  • git

なかったら適当にbrewとかでインストールしたらいいと思います。

Processingのインストール

Processing公式サイトから最新版をダウンロードしてアプリケーションフォルダにぶち込んでおきましょう。

JRubyのインストール

ProcessingはJavaでつくられているため、それとRubyを結合するのに、JRubyが必要になります。1

[code lang=text]
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install -l | grep jruby
[/code]

これで最新バージョンっぽいのを見つけて

[code lang=text]
rbenv install jruby-1.7.9
rbenv rehash
rbenv global jruby-1.7.9
[/code]

とかすればOKです。
この処理は時間がかかるので、気長に待ちましょう。

ソースコードのダウンロード

何はともあれとりあえずダウンロード!
適当なフォルダに移動してダウンロードしましょう。今回は~/sandboxで作業したいと思います。

[code lang=text]
cd ~/sandbox
git clone https://github.com/jashkenas/ruby-processing.git
[/code]

ruby-processingのインストール

ダウンロードできたら、ダウンロードしたフォルダに移動して、コンパイルしましょう。

[code lang=text]
cd ruby-processing
rake
[/code]

これでいけるはず!・・・だったのですが、エラー出た。

WARNING: you need to set PROCESSING_ROOT in ~/.rp5rc

エラーですが、これはRSpec(Rubyのテストツール)のエラーでとりあえず、無視してもいいみたいです。
でもエラーを残しておくと気持ち悪いので、

[code lang=text]
echo 'PROCESSING_ROOT: "/Applications/Processing.app/Contents/Java"' > ~/.rp5rc
[/code]

として、もう一回rakeを叩いておきましょう。このときの/Applicationsは自分がProcessingをインストールしたパスに変えてください

フォルダ内を確認するとruby-processing-2.4.4.gemみたいなのができてると思います。これで

[code lang=text]
gem install ruby-processing-2.4.4.gem
[/code]

としてみる。
インストールが完了したら

[code lang=text]
rbenv rehash
[/code]

を忘れずに。(rbenvを使ってrubyやらなんやらをインストールしてる場合)

[code lang=text]
rp5 -v
[/code]

としてバージョンが表示されれば、インストールは終わっているはず!

実際に動かしてみる

例によって作業フォルダは~/sandbox/ruby-processing-test

[code lang=text]
mkdir ~/sandbox/ruby-processing-test
cd ~/sandbox/ruby-processing-test
touch test-sketch.rb
[/code]

このtest-sketch.rbに以下のコードを書いてみましょう。

[code lang=ruby]
def setup
@counter = 0.0
size 640, 480
end

def draw
backgroun 0

noStroke
fill 255, 0, 0

x = width/2 + 200 * cos(@counter)
y = height/2 + 200 * sin(@counter)
ellipse x, y, 50, 50

@counter += 0.1
end
[/code]

うん、いい感じにRubyっぽい。

あとは

[code lang=text]
rp5 run test-sketch.rb
[/code]

として実行して、うまく言ったらこんな画面が出てくるはず!

実行画面

やったね!


  1. 実際はruby-processingにJRubyが同梱されていて、この手順は必要ないらしいですが一応