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

""エラーは、 stringを number で追加しようとした結果ですnum

型を変換しようとする JavaScript とは異なり、Ruby では数学演算子で異なる型を使用することはできません (float や integer などの数値でない限り)。

2 行目を次のように修正しますsum = 0

于 2016-06-28T02:47:29.737 に答える