只是想在这里写一个简单的 Ruby 程序。我试图让程序询问用户最喜欢的号码,然后建议一个更大的新的最喜欢的号码。下面的代码有什么问题?
puts "hey, whats your favorite number?"
favnumber = gets.chomp
newfavnumber = favnumber.to_i + 1
puts "how about " + newfavnumber "?"
只是想在这里写一个简单的 Ruby 程序。我试图让程序询问用户最喜欢的号码,然后建议一个更大的新的最喜欢的号码。下面的代码有什么问题?
puts "hey, whats your favorite number?"
favnumber = gets.chomp
newfavnumber = favnumber.to_i + 1
puts "how about " + newfavnumber "?"
puts "how about " + newfavnumber "?"
首先,你可能想要一个+
之前的"?"
。现在这样写,它解析为puts("how about " + newfavnumber("?"))
,即你正在调用一个名为 的函数newfavnumber
,这显然不是你想要的。
但是,如果您将其更改为puts "how about " + newfavnumber + "?"
您可能想要的,它仍然无法工作:newfavnumber
是一个数字并且"how about "
是一个字符串。在 ruby 中,您不能将数字添加到字符串中。要解决此问题,您可以调用to_s
将newfavnumber
其转换为字符串。
编写此代码的更好方法是使用字符串插值:puts "how about #{newfavnumber}?"
. 这样你就不需要打电话了to_s
,因为你可以在里面使用任何类型#{}
。
您缺少一个+
afternewfavnumber
和一个转换为字符串。
puts "how about " + newfavnumber.to_s + "?"