所以我目前正在处理代码大战中的以下问题:
返回一个数组,其中第一个元素是正数的数量,第二个元素是负数的总和.如果输入数组为空或null,则返回一个空数组.
我提出了以下代码,它不漂亮,但我知道它应该工作:
def count_positives_sum_negatives(lst)
pos, neg = 0, 0
lst.each do |num|
if num < 0
neg += num
else
pos++
end
end
[pos, neg]
end
Run Code Online (Sandbox Code Playgroud)
然后我调用以下测试:
count_positives_sum_negatives([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, -11, -12, -13, -14, -15])
Run Code Online (Sandbox Code Playgroud)
它应该返回=> [10,-65]
但是它返回以下错误:
(repl):11: syntax error, unexpected keyword_end
(repl):17: syntax error, unexpected end-of-input, expecting keyword_end
..., 10, -11, -12, -13, -14, -15])
...
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么会发生这种情况吗?