简单的Ruby程序…需要帮助吗
只是想在这里写一个简单的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
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 "?"