简单的Ruby程序...需要帮助
问题描述:
试图在这里写一个简单的Ruby程序。我试图让程序要求用户最喜欢的号码,然后建议一个新的最喜欢的号码。下面的代码有什么问题?简单的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 "
是一个字符串。在红宝石中,你不能将数字添加到字符串。要解决这个问题,你可以拨打to_s
newfavnumber
将其转换为字符串。
写一个更好的方法是使用字符串插值:puts "how about #{newfavnumber}?"
。这样您不需要拨打to_s
,因为您可以使用#{}
内的任何类型。
这很容易,但在未来,最好还包括你得到的_error message_。 – sarnold 2012-04-05 23:56:26