在短语中添加数字

时间:2012-09-17 13:04:42

标签: ruby

我可以使用以下代码打印原始数字:

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 + '!'

帮助我。

2 个答案:

答案 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