这是怎么回事:
看来我有语法问题。以下两种方法,彼此相似,加载到 irb 罚款。但是,当我去使用它们时,它们会产生错误。由于我只是在学习这一点,因此我不仅在寻找修复程序,而且还想了解为什么两者都返回错误以及任何修复程序如何解决问题。
谢谢你的帮助,
TJ
第一种方法:
def sum(*)
i = 1
total = sum[0]
until sum[i] == nil
total = total + sum[i]
i += 1
end
puts total
end
加载此文件后,irb 返回=> nil
,没有错误。但是,尝试使用该方法如下所示:
sum 3, 58, 298, 2
Unknown error.
直接在 irb 中写入方法与加载 .rb 文件在第 3 行之后会产生此错误:
def sum(*)
.. i = 1
.. total = sum[0]
(eval):2: (eval):2: compile error (SyntaxError)
(eval):2: syntax error, unexpected $end, expecting kEND
total = sum[0]
^
现在,我看到它说,SyntaxError
但我不知道其余的反馈意味着什么,也不知道它的正确语法是什么。
第二种方法:
def sum(*)
i = 1
total = sum[0]
until i == sum.count
total = total + sum[i]
i += 1
end
puts total
end
这个以与第一个相同的方式产生所有相同的错误。