2

この行にこのエラーがあります ( 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
4

1 に答える 1

4

coinsは の配列ですがString、 で算術演算を実行しようとしていますcoins[i]

変化する

coins = coins_part.split(',')

coins = coins_part.split(',').map(&:to_i)
于 2015-08-02T12:49:58.823 に答える