简单的Ruby程序…需要帮助吗

简单的Ruby程序…需要帮助吗,ruby,Ruby,只是想在这里写一个简单的Ruby程序。我试图让程序询问用户最喜欢的号码,然后建议一个新的最喜欢的号码,该号码要大一个。下面的代码有什么问题 puts "hey, whats your favorite number?" favnumber = gets.chomp newfavnumber = favnumber.to_i + 1 puts "how about " + newfavnumber "?" 在newfavnumber之后缺少一个+和一个到字符串的转换 puts "ho

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

puts "hey, whats your favorite number?" 

favnumber = gets.chomp 

newfavnumber = favnumber.to_i + 1 

puts "how about " + newfavnumber "?"

newfavnumber
之后缺少一个
+
和一个到字符串的转换

puts "how about " + newfavnumber.to_s + "?"
首先,您可能希望在那里的
“?”
前面有一个
+
。按照现在编写的方式,它解析为
put(“how-about”+newfavnumber(“?”)
,也就是说,您正在调用一个名为
newfavnumber
的函数,这显然不是您想要的

但是,如果您将其更改为
放置“how-about”+newfavnumber+“?”
,这可能是您想要的,它仍然不起作用:
newfavnumber
是一个数字,
“how-about”
是一个字符串。在ruby中,不能向字符串中添加数字。要解决此问题,您可以在
newfavnumber
上调用
To_s
,将其转换为字符串


写这篇文章的更好方法是使用字符串插值:
放置“how-about#{newfavnumber}?”
。这样你就不需要调用
来调用
,因为你可以在
{}
中使用任何类型。这很简单,但在将来,最好还包括你收到的错误消息。棒极了,非常有帮助的家伙。非常感谢。另外,如何在字符串之间获得空格。如果我定义了firstname和lastname,如何获得puts firstname+lastname,使其显示“firstname lastname”而不是“firstnamelastname”?再次感谢大家。@Mariogs
将“{firstname}}{lastname}”放在“
没有{}符号我怎么做?另外,这个符号到底是做什么的?@Mariogs通过在两个字符串之间添加空格(
)。
#{}
所做的是计算大括号内的表达式并将结果插入字符串中。我是否遗漏了什么?向
字符串添加
Fixnum
?我想你必须这样做:
放上“那{newfavnumber}怎么样?”
@Linux_iOS.rb.cpp.c.lisp.m.sh:不,我还不太了解Ruby。我本来打算把它放进去的,但是。。。我没有。唉。
puts "how about " + newfavnumber "?"