1

誰かがこれがubuntuの私のgeditで機能する理由を教えてもらえますか

def initialize (product_id,category_id,category_name)

しかし、これはそうではありません。構文エラーが発生し、「)」が欠落していると表示されます

def initialize (product_id, category_id, category_name)

残りのすべてのコードを実行するのに約2時間かかりました。これにより、構文エラーが修正されました。メソッドを呼び出す場所とその定義で変更する必要がありました。私のコードの残りの部分は100%同じです..geditは私のスペースで何かをしていますか?ありがとう

4

2 に答える 2

3

メソッド名とそのメソッドの引数リストの間にスペースを入れることは想定されていません。そのはず:

def initialize(product_id, category_id, category_name)
于 2011-06-03T06:16:26.110 に答える
-1

初期化とブラケットの間にスペースを入れてはならないという@Ryanに同意しましたが、どちらのバージョンもIRBで正常に機能しました。

class Foo
  def initialize (product_id,category_id,category_name)
  end
end

class Bar
  def initialize (product_id, category_id, category_name)
  end
end

Foo.new(1, 2, 3)
Bar.new(1, 2, 3)

カルマコアラのirbのこれらのバージョンを考えると:

agrimm@csb1:~$ irb --version
irb 0.9.5(05/04/13)
agrimm@csb1:~$ irb1.9.1 --version
irb 0.9.5(05/04/13)

したがって、geditがコードの受け入れを拒否している場合、それは少し怠惰です。

補足として、エラーのスタックトレースを提供する必要があり(極秘情報がない限り)、理想的には、誰かがそれを切り取ってコンピューターに貼り付けることができるように、上記のようなコードを提供する必要があります。私たちにとってそれを簡単にしてください!

于 2011-06-03T09:13:44.717 に答える