2012-04-29 16 views
1

私はルビー加工ファイルを実行しようとしていますルビー-処理:未定義のメソッドエラー

[email protected]:~/Twitter-Emotion-Graphs/samples/contributed$ rp5 run sand_traveler.rb 
undefined method `current' for Processing::App:Class 
    ./sand_traveler.rb:63:in `initialize' 
    ./sand_traveler.rb:43:in `reset_all' 
    org/jruby/RubyFixnum.java:256:in `times' 
    ./sand_traveler.rb:40:in `reset_all' 
    ./sand_traveler.rb:22:in `setup' 
    /var/lib/gems/1.8/gems/ruby-processing-1.0.11/lib/ruby-processing/app.rb:211:in `handleDraw' 

sand_traveler.rbためのコンテキストとコード:http://ashkenas.com/codework/ruby-processing.html

私は必要なすべてのモジュールがインストールされているかなり確信しています(java、ruby、ruby-processing) rp5を使って、他のruby-processing .rbファイルを実行することができます。これだけがエラーを表示しています。

PS:ファイルの場所は重要ですか?ファイルは私のホームフォルダにあります。私はあなたと同じエラーを取得し、これは私のためにそれを固定

@app = $app 

:で

@app = Processing::App.current 

答えて

0

sand_traveler.rbのライン63を交換してみてください。 ($appは、実行中のスケッチのグローバルハンドルです。これはProcessing::App.currentで実行する必要があります - のv0.3のエントリを参照してください)。

なぜそれが機能しないのか - この方法は最新のruby-processingから削除されているようです。あなたは、たとえばversion 0.8を見れば、Processing::Appruby-proccessing.rbのライン40上のクラスのメソッドを定義します。

def self.current; @current_app; end 

このような方法は、最新のバージョンにはありません。

+0

驚くばかりです。出来た。 – user1324579

関連する問題