1

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

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

帮我。

4

2 回答 2

6

betterNumber是一流的Fixnum,你的字符串当然是一流的String。您不能添加字符串和 Fixnum,您需要使用 . 将您的 Fixnum 转换为字符串to_s

"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

于 2012-09-17T13:08:02.467 回答
1

betterNumber打印时需要转换为字符串,如下所示: betterNumber.to_s.

于 2012-09-17T13:07:47.550 回答