简单的Ruby程序......需要帮助

时间:2012-04-05 23:52:56

标签: ruby

在这里尝试编写一个简单的Ruby程序。我正在尝试让程序询问用户最喜欢的号码,然后建议一个更大的新收藏号码。下面的代码出了什么问题?

puts "hey, whats your favorite number?" 

favnumber = gets.chomp 

newfavnumber = favnumber.to_i + 1 

puts "how about " + newfavnumber "?"

2 个答案:

答案 0 :(得分:2)

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,因为您可以使用#{}内的任何类型。

答案 1 :(得分:1)

+之后您错过newfavnumber并转换为字符串。

puts "how about " + newfavnumber.to_s + "?"