【发布时间】:2019-01-12 11:08:02
【问题描述】:
我收到了这个错误:
SyntaxError ((irb):8: 语法错误,意外 tSTRING_BEG,期待 ']')
Person.new “尼克”,
(irb):8: 语法错误,意外的 ',',期待输入结束
Person.new “尼克”,
执行以下代码时:
class Person
def initialize(name)
@name = name
end
end
a = [
Person.new "Nick",
Person.new "James"
]
我知道如何解决它,我只是想知道它到底为什么会发生。
【问题讨论】:
-
在应用@Jagdeep 的答案之前,请务必将
initalize更改为initialize。 -
大佬,你在使用
initalize或initialize的方法时有没有报错?。 -
@CarySwoveland 两者的错误相同。
-
请注意以下几点:
Person.new "Nick" #=> #<Person:0x00000000bfcea8 @name="Nick">,而[Person.new "Nick"] #=> SyntaxError: (irb):7: syntax error, unexpected tSTRING_BEG, expecting ']'... -
@CarySwoveland:“大名鼎鼎,当您使用
initalize或initialize方法时是否收到错误?” – 由于错误是SyntaxError,因此方法的名称是什么可能无关紧要(除非它在语法上无效),因为代码无法解析,因此永远不会运行,因此该方法永远不会被调用,因此它永远不会丢失或参数数量错误。
标签: ruby