0

次のコード:

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)

あいまいなエラーが表示されます:

"/Users/Josh/Documents/Aptana Studio 3 Workspace/Test/Euler7.cgi:10:in array_sum': undefined local variable or methoda' for main:Object (NameError) from /Users/Josh/Documents/Aptana Studio 3 Workspace/Test/Euler7.cgi: 17"

誰でも私を助けることができますか?

4

2 に答える 2

7

エラーについてあいまいなことは何もありません。n.length - 1の代わりに書くつもりだったのでしょうa.length - 1

于 2013-04-10T17:48:08.433 に答える
2

ここでは Sergio Tulentsev の答えが適切な解決策ですが、このアルゴリズムの 1 行の実装にも興味があるかもしれません。

puts (1..5).reduce(:+)
于 2013-04-10T17:55:26.387 に答える