【问题标题】:String can't be coerced into Fixnum字符串不能被强制转换为 Fixnum
【发布时间】:2015-10-24 15:47:24
【问题描述】:

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

【问题讨论】:

    标签: arrays ruby string fixnum


    【解决方案1】:

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

    改变

    coins = coins_part.split(',')
    

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

    【讨论】:

    • 第一行有一个错字 - coints 而不是 coins - 所以不允许我编辑它 - 似乎是一个荒谬的限制我,所以只是评论它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多