我在这一行上有这个错误(if change_needed - coins[i] >= 0 then
)
字符串无法强制进入Fixnum
从我的代码中,我不明白为什么它现在不起作用。如何最好地解决这个问题的任何帮助将不胜感激。
user_input = gets
change_needed = 0
coins = []
coins_part, change_needed_part = user_input.split(':')
coins = coins_part.split(',')
change_needed = change_needed_part.to_i
i = 0
coins_used = []
while change_needed != 0 do
if change_needed - coins[i] >= 0 then
change_needed = change_needed - coins[i]
coins_used << coins[i]
else
i += 1
end
end
答案 0 :(得分:4)
coins
是String
的数组,而您正在尝试使用coins[i]
进行算术运算。
更改
coins = coins_part.split(',')
到
coins = coins_part.split(',').map(&:to_i)