1

ルビー処理ファイルを実行しようとしています

vishrut@vishrut-XPS-L501X:~/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:ファイルの場所は重要ですか?ファイルは私のホームフォルダにあります。

4

1 に答える 1

0

の63行目を置き換えてみてくださいsand_traveler.rb

@app = Processing::App.current

と:

@app = $app

私はあなたと同じエラーを受け取ります、そしてこれは私のためにそれを修正しました。($app実行中のスケッチへのグローバルハンドルであり、これも実行する必要があります。v0.3のCHANGELOGエントリをProcessing::App.current参照してください)。

なぜそれが機能しないのかについては、このメソッドは最新バージョンのから削除されたようですruby-processing。たとえば、バージョン0.8を見ると、次Processing::Appの40行目にクラスメソッドが定義されていますruby-proccessing.rb

    def self.current; @current_app; end

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

于 2012-04-29T11:33:14.487 に答える