我碰到'不能将Fixnum转换为String(TypeError)'错误,虽然它似乎很简单,我不确定如何解决它。我认为我的逻辑是合理的 - 将输入的字符串变量转换为整数,然后执行基本操作 - 但显然我错过了一些关键信息。'+'不能将Fixnum转换为字符串(TypeError)
puts 'What is your favourite number?'
favenum = gets.chomp
better = favenum.to_i + 1
puts 'Yeah '+favenum+' is nice enough but '+better+' is bigger and better by far! Think on.'
是否尝试过寻找一个答案,但同样的错误了也有远远超出目前我的基本的红宝石技能的例子。
所以我的代码中的错误是在变量的输出中,而不是在上面的行中对它们进行操作?我认为favenum最初是作为一个字符串存储的吗?也许我正在遵循的教程(http://pine.fm/LearnToProgram/?Chapter=04)并非全部被破解为......? – 2013-02-15 13:26:36
@DanSolo:确实,'favenum'确实是一个字符串,不应该导致错误。它是导致它的整数“更好”变量。 – 2013-02-15 13:30:16
太好了,谢谢。现在你提到它,我可以逻辑地看到为什么在更好的整数时使用'+ better +'会导致错误。感谢您解决它的其他选项。我的旅程继续... – 2013-02-15 13:37:55