Posted at

ruby-processingで遊んでみた

More than 5 years have passed since last update.


ruby-processingで遊んでみた

せっかくRubyをやり始めたのに、Ruby on Railsだけしかやらないなんてつまらない。

なので、昔、ちょっとだけ触ったことのあるruby-processingをやってみようと思います。

一番簡単な方法としては

gem install ruby-processing

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

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


前準備

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


  • java

  • ruby

  • gem

  • rake

  • wget

  • git

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


Processingのインストール

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


JRubyのインストール

ProcessingはJavaでつくられているため、それとRubyを結合するのに、JRubyが必要になります。(実際はruby-processingにJRubyが同梱されていて、この手順は必要ないらしいですが一応)

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

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

rbenv install jruby-1.7.9

rbenv rehash
rbenv global jruby-1.7.9

とかすればOKです。

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


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

何はともあれとりあえずダウンロード!

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

cd ~/sandbox

git clone https://github.com/jashkenas/ruby-processing.git


ruby-processingのインストール

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

cd ruby-processing

rake

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


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


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

でもエラーを残しておくと気持ち悪いので、

echo 'PROCESSING_ROOT: "/Applications/Processing.app/Contents/Java"' > ~/.rp5rc

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

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

gem install ruby-processing-2.4.4.gem

としてみる。

インストールが完了したら

rbenv rehash

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

rp5 -v

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


実際に動かしてみる

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

mkdir ~/sandbox/ruby-processing-test

cd ~/sandbox/ruby-processing-test
touch test-sketch.rb

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

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

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

あとは

rp5 run test-sketch.rb

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

実行画面

やったね!