我可以使用以下代码打印原始数字:
puts 'Please enter your favorite number'
favNumber = gets.chomp
betterNumber = favNumber.to_i
puts betterNumber + 1
但我需要设置包含号码的消息。我将最后两行更改为此,但这是错误的。
betterNumber = favNumber.to_i + 1
puts 'Your favorite number sucks, a better number is '+ betterNumber + '!'
帮助我。
答案 0 :(得分:6)
betterNumber
属于班级Fixnum
,您的字符串当然属于班级String
。您无法添加String和Fixnum,您需要使用to_s
将Fixnum强制转换为字符串。
"Your favorite number sucks, a better number is " + betterNumber.to_s + "!"
此外,在插值的任何对象上使用插值调用to_s
。所以这也有效(并且更常见):
"Your favorite number sucks, a better number is #{betterNumber}!"
此外,在Ruby中,我们通常使用snake_case
变量而不是camelCase
变量。所以我建议使用better_number
答案 1 :(得分:1)
您需要在打印时将betterNumber
转换为字符串,如下所示:betterNumber.to_s
。