1

只是想在这里写一个简单的 Ruby 程序。我试图让程序询问用户最喜欢的号码,然后建议一个更大的新的最喜欢的号码。下面的代码有什么问题?

puts "hey, whats your favorite number?" 

favnumber = gets.chomp 

newfavnumber = favnumber.to_i + 1 

puts "how about " + newfavnumber "?"
4

2 回答 2

2
puts "how about " + newfavnumber "?"

首先,你可能想要一个+之前的"?"。现在这样写,它解析为puts("how about " + newfavnumber("?")),即你正在调用一个名为 的函数newfavnumber,这显然不是你想要的。

但是,如果您将其更改为puts "how about " + newfavnumber + "?"您可能想要的,它仍然无法工作:newfavnumber是一个数字并且"how about "是一个字符串。在 ruby​​ 中,您不能将数字添加到字符串中。要解决此问题,您可以调用to_snewfavnumber其转换为字符串。

编写此代码的更好方法是使用字符串插值:puts "how about #{newfavnumber}?". 这样你就不需要打电话了to_s,因为你可以在里面使用任何类型#{}

于 2012-04-06T00:06:58.783 回答
1

您缺少一个+afternewfavnumber和一个转换为字符串。

puts "how about " + newfavnumber.to_s + "?"
于 2012-04-05T23:54:53.727 回答