kyaraです。

> これを ruby19 で実行することはできないでしょうか?
> rp5 の shebang は /usr/local/bin/ruby19 なのですが ...

 う〜ん、この辺りは、勉強会の小ネタにでもと思ってたのですが。

で、上記質問の解答ですが、
ruby1.9環境上で実行することは出来るの?の質問であれば問題なく出来るはずです。
ruby1.9文法を用いてでプログラムすることが出来るの?の質問であればノーマルでは出来ません。


 rp5コマンドで指定されたRubyプログラムは、インストールされているRuby(上記ですと、/usr/local/bin/ruby19)で実行されるわけでは、ありません。

gemコマンドでインストールされた、ruby-processing内の(上記ですと、多分/usr/local/bin/ruby19/lib/ruby/gems/1.9/gems/ruby-processing-1.0.8/lib/core/)のjruby-complete.jar(JRuby)で実行されています。

結局のところrp5コマンドは環境にインストールされたRuby(上記ですとruby19)を用いて、gemでインストールされたjruby-complete.jar(JRuby)に処理を、丸投げしてます。

ですから、1.9の環境であろうともruby-processingでは、1.8.6相当で対応しているRuby文法しか使えませんから、注意です。ってネタが今お亡くなりになりましたw;


まあ、上記のような理由でノーマルですと1.8.6相当の文法しかサポートはされていません。
JRuby自体が1.9相当の文法をコマンドオプションで切り替えれるような「噂」を聞いたことがあるので、
オプションを指定してやれば大丈夫なのでは、と思っています。



2009/05/17 18:20 HIGAKI Masaru <mash@as.airnet.ne.jp>:
ひがきです。

>>>>> On Sat, 16 May 2009 21:49:29 +0900
>>>>> aki.kyara@gmail.com(kyara)  said:

> kyaraです。
> Rubyでも問題ないです。JRubyのインストールは必要ないです。

早速 指摘して頂いてありがとうございます。

そして、私に騙されてしまった方、申し訳ありません。
# いまいさんとか、いまいさんとか、いまいさんとか。

私の環境には、4 種類の Ruby がインストールされています。

| $ /usr/bin/ruby -v
| ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]
| $ /usr/local/bin/ruby -v
| ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin9.6.0]
| $ /usr/local/bin/ruby19 -v
| ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-darwin9.6.0]
| $ jruby -v
| jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-03-16 rev 9419) [i386-java]

Mac OS X 標準の環境 (/usr/bin/ruby) 以外のそれぞれの環境で
gem install ruby-processing したのですが、rp5 で実行されるのは
Mac OS X 標準の ruby のようです。
# もしかすると jruby かも知れません。

| $ cat test.rb
| puts RUBY_VERSION
| $ rp5 run test.rb
| 1.8.6

これを ruby19 で実行することはできないでしょうか?
rp5 の shebang は /usr/local/bin/ruby19 なのですが ...

--ひがき

--
ML: learn-ruby-in-kansai@ruby.ml.fdiary.net
使い方: http://QuickML.com/