在尝试将数组传递给方法时,在ruby中获得一个奇怪的错误

Jos*_*itz 0 ruby

以下代码:

def array_sum(*n)
  sum = 0
  0.upto(a.length-1) do |i|
    sum += n[i]
  end
  return sum
end

a = (1..5).to_a
puts array_sum(a)
Run Code Online (Sandbox Code Playgroud)

给我一个模棱两可的错误:

"/ Users/Josh/Documents/Aptana Studio 3工作区/测试/ Euler7.cgi:10:array_sum': undefined local variable or method来自/ Users/Josh/Documents/Aptana Studio 3工作区/测试/ Euler7.cgi的'for main:Object(NameError): 17"

谁能帮我吗?

Ser*_*sev 7

这个错误并没有什么含糊之处.你可能想写n.length - 1而不是a.length - 1.