--- 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面白そうだね。