--- layout: old_post title: JRuby上のirbでインタラクティブにProce55ingを動かす permalink: /tatsuya/show/327-jruby-irb-proce55ing ---

JRubyでRubyを動かし、Proce55ingのライブラリを読み込むことが可能らしい

Quietstar - Processing by Ruby #2

確かにProce55ingのコアAPIはAppletクラスを継承した普通のクラス(processing.core.PApplet)だし、JRuby上ではJavaのクラスを利用することもできるという話は聞いたことあったので、可能なのかも。でも実際にやってみると違うね、面白い。特にirb上から対話的にProce55ingを利用したコードを描いてみるとヤバイ!
・軽量でパワフルなRubyで
・対話的に (irb)
・Proce55ing ライブラリが自由に使える
これだけでご飯三杯は食べれられる。もぐもぐ。

Proce55ingをデザインしたBen Fryは、Proce55ingで作成するコードを スケッチ と命名したけど、2D/3Dグラフィックが気軽に書ける・ピクセル単位での処理も書ける・映像入力も簡単にできるProce55ingプログラミングを実に上手く表現してると思う。そしてこのProce55ing & irb & Rubyの対話的プログラミングこそまさにスケッチだと思う、またはスケッチより前のステップ(何と言うんだろ)、だれにも見られることの無い下書きの段階だ。色や動き等のパラメータを変更するのはもちろん、スケッチの世界を制御するコードを動的に変更することもできる。

以下、Mac OS X (Intel) でProce55ing & JRubyを利用するメモ

1. JREを入れておく
 ちなみに自分のVerは java version "1.5.0_07" でした。

2. JRubyを落としてきて解凍
 http://dist.codehaus.org/jruby/jruby-bin-1.0.0RC2.tar.gz

3. 適当な場所へ移動して
 mv jruby-1.0.0RC2 /usr/local/.

4. 環境変数を設定
 export JRUBY_HOME=/usr/local/jruby-1.0.0RC2
 export PATH=$PATH:$JRUBY_HOME/bin
 export P5_HOME=/Applications/Processing\ 0124
 export CLASSPATH=$CLASSPATH:$P5_HOME/lib/core.jar

5. こちらのサイトにあるコードを適当な名前で保存 (p5r.rb)
 http://d.hatena.ne.jp/dewdrop/20070506/p5r
 http://d.hatena.ne.jp/dewdrop/20070513/p5r

6. irbで触ってみる
 irb(main):001:0> load "p5r.rb"
 irb(main):002:0> applet = Sketch.new

 irb(main):003:0> run applet
 applet.background 100, 120, applet.random(100, 200)

楽しいです。あとJRubyが意外に簡単に使えてビックリした。JRubyを利用してAppletでRubyを動かすということをやってる人もいたし、JRuby面白そうだね。