有人可以告诉我为什么这可以在我的gedit上运行ubuntu
def initialize (product_id,category_id,category_name)
但事实并非如此。它产生语法错误,并说我错过了一个“)”
def initialize (product_id, category_id, category_name)
我花了大约2个小时来完成所有其余的代码,这就是修复语法错误的原因。我必须在我调用方法及其定义的地方更改它。我的其余代码是100%相同.. gedit是用我的空间做某事吗?感谢
答案 0 :(得分:3)
您不应该在方法名称和该方法的参数列表之间留一个空格。它应该是:
def initialize(product_id, category_id, category_name)
答案 1 :(得分:-1)
在同意@Ryan同意你不应该在initialize和括号之间有空格时,两个版本在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 on karmic koala:
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拒绝接受代码,那就太懒了。
作为附注,你应该提供错误的堆栈跟踪(只要它没有绝密信息),并且理想情况下提供我上面的代码,这样有人可以将其剪切并粘贴到他们的计算机中。让我们更轻松!