ruby – ”不能将Fixnum转换为String(TypeError)

我打了一个’不能将Fixnum转换成String(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.'

已经尝试寻找一个答案,但同样的错误的例子现在有超出我的基本的ruby技能.

解决方法

Ruby(与其他一些语言不同)在String#方法中的操作数时不会将对象转换为字符串.手动转换为字符串:
puts 'Yeah ' + favenum.to_s + ' is nice enough but ' + better.to_s + ' is bigger and better by far!'

或使用字符串插值(注意双引号):

puts "Yeah #{favenum} is nice enough but #{better} is bigger and better by far!"

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...