字符串不能强制转换为Fixnum

时间:2015-08-02 12:43:09

标签: arrays ruby string fixnum

我在这一行上有这个错误(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

1 个答案:

答案 0 :(得分:4)

coinsString的数组,而您正在尝试使用coins[i]进行算术运算。

更改

coins = coins_part.split(',')

coins = coins_part.split(',').map(&:to_i)