请原谅,这是我在S / O上的第一个问题。我正在尝试创建一个.rb文件,该文件将询问用户的一些问题,包括他们的全名和喜欢的号码。我正在检索最喜欢的号码并向其添加1并将其显示给用户。
这是我的代码
puts "Hello what is your first name?"
firstName = gets.chomp
puts "Okay cool, now what about your middle names?"
middleName = gets.chomp
puts "Alright, now your last name?"
lastName = gets.chomp
puts "...Okay so your name is " + firstName + " " + middleName + ' ' + lastName
puts "Alright " + firstName + " " + middleName + ' ' + lastName + ". What is your favourite number?"
faveNum = gets.chomp.to_i
faveNum + 1
puts "I think your favourite number is " + faveNum
我收到no implicit conversion of Fixnum into String (TypeError)
有人可以向我解释我做错了什么吗?我已经在线查看,当我将.to_i添加到我的faveNum = gets.chomp行时,我认为我得到了答案。但是,唉,仍然没有。
谢谢
答案 0 :(得分:0)
TypeError,没有将Fixnum隐式转换为String (类型错误)
问题是offsetof
是一个数字(即favNum
)所以,当您尝试将其与Fixnum
连接时,您会得到一个+
,因为您首先需要在使用TypeError
之前将其转换为String
。因此,要做到这一点,只需将+
添加到to.s
,如下所示:
faveNum
或者,以更惯用的方式,您可以使用字符串插值自动调用puts "I think your favourite number is " + faveNum.to_s
:
to_s
...第10行(faveNum + 1)这个添加没有被携带 进行。
您只是添加puts "I think your favourite number is #{faveNum}"
和faveNum
,但结果未存储在任何位置,因此请更改:
1
对此:
faveNum + 1
使用faveNum += 1
与执行+=
相同。