0

我正在学习 Ruby 并尝试解决以下挑战:

编写一个方法,接收一个整数num并返回从 0 到 num 的所有整数之和,包括num.

我想出了:

def sum_nums(num)
    sum = ""
    num = num.to_i
    if num > 0
        while num > 0
            sum = sum + num
            num = num - 1
        end
    end
    if num == 0
        sum = 0 
    end
    if num < 0
        while x < 0
            sum = sum + num
            num = num + 1
        end
    end
    return sum 
end

在第 6 行收到 Fixnum 字符串错误,无法自行排除故障。我尝试将 num 转换为整数,即使这对我来说没有意义,因为我编写了不需要to_i. 但是完全迷失了我所缺少的显而易见的东西。

4

1 回答 1

1

您的错误是尝试""使用数字添加字符串的结果num

与尝试转换类型的 JavaScript 不同,Ruby 不允许您将不同的类型与数学运算符一起使用(除非它们是数字的,例如浮点数或整数)。

正确的第 2 行说:sum = 0

于 2016-06-28T02:47:29.737 回答