只是想在这里写一个简单的 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 + "?"