Ruby 在短语中添加数字

Ruby 在短语中添加数字,ruby,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 nu

我可以使用以下代码打印原始编号:

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

帮帮我。

您需要在打印时将
betterNumber
转换为字符串,如下所示:
betterNumber。要想打印它,您需要将
betterNumber

转换为字符串,这样:
betterNumber.to_s
betterNumber
属于类
Fixnum
,您的字符串当然属于类
string
。您不能添加字符串和Fixnum,您需要使用
to_s
将Fixnum强制转换为字符串

"Your favorite number sucks, a better number is " + betterNumber.to_s + "!"
此外,对任何被插值的对象使用插值调用
来_s
。因此,这也是可行的(而且更常见):


此外,在Ruby中,我们通常使用
snake\u case
变量,而不是
camelCase
变量。因此,我建议使用
better\u number
betterNumber
属于
Fixnum
类,您的字符串当然属于
string
类。您不能添加字符串和Fixnum,您需要使用
to_s
将Fixnum强制转换为字符串

"Your favorite number sucks, a better number is " + betterNumber.to_s + "!"
此外,对任何被插值的对象使用插值调用
来_s
。因此,这也是可行的(而且更常见):


此外,在Ruby中,我们通常使用
snake\u case
变量,而不是
camelCase
变量。因此,我建议您使用
better\u number

欢迎使用So。一些建议:1)在你的问题上尽量简洁,你基本上粘贴了两次相同的代码。2) 始终粘贴行和您得到的准确错误。3) 在Ruby中,我们对局部变量使用
变量名,而不是
camelCase
。顺便说一句,解决方案:
betterNumber.to\s
欢迎使用SO。一些建议:1)在你的问题上尽量简洁,你基本上粘贴了两次相同的代码。2) 始终粘贴行和您得到的准确错误。3) 在Ruby中,我们对局部变量使用
变量名,而不是
camelCase
。顺便说一句,解决方案:
betterNumber.to_s
谢谢大家。不过我作弊了,请在索引中查找答案。但是应用在不同的情况下,我正确地应用了它。@EyJay我可以推荐将这些答案中的一个标记为正确的信息来帮助他人吗?谢谢大家。不过我作弊了,请在索引中查找答案。但是应用在不同的情况下,我正确地应用了它。@EyJay我可以推荐将这些答案中的一个标记为帮助他人的正确信息吗?是的。我从未想过在一个对象中有两个方法是可能的。谢谢大家!是 啊我从未想过在一个对象中有两个方法是可能的。谢谢大家!