これはどうなっているのですか:
構文に問題があるようです。次の方法はどちらも、互いに似ていますが、irb に正常にロードされます。ただし、それらを使用すると、エラーが発生します。私はこれを学んでいるので、修正を探しているだけでなく、両方がエラーを返す理由と、問題を解決するために修正がどのように機能するかを理解しようとしています。
助けてくれてありがとう、
TJ
最初の方法:
def sum(*)
i = 1
total = sum[0]
until sum[i] == nil
total = total + sum[i]
i += 1
end
puts total
end
このファイルをロードする=> nil
と、irb は を返します。エラーはありません。ただし、メソッドを使用しようとすると、次のようになります。
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
のはわかりますが、残りのフィードバックが何を意味するのか、これの適切な構文は何なのかわかりません。
2 番目の方法:
def sum(*)
i = 1
total = sum[0]
until i == sum.count
total = total + sum[i]
i += 1
end
puts total
end
これは、最初のものと同じ方法ですべて同じエラーを生成します。