-1

这是一些代码:

print "What is your name?"
userinput = gets.chomp.downcase!
if userinput.include? "s"
  print "I found it"
else
  print "found nothing"
end

它给出了错误:未定义的方法“包括?” 对于零:NilClass

但是当我将其更改为:

print "What is your name?"
userinput = gets.chomp
userinput.downcase!
if userinput.include? "s"
  print "I found it"
else
  print "found nothing"
end

它工作得很好。知道这是为什么吗?

4

1 回答 1

0

downcase!nil当没有什么可以小写时返回。如果您将其重新分配给userinput,则userinput可以nil像您的第一个示例一样。如果你downcase改用,那么错误就会消失。在您的第二个示例中,您没有重新分配downcase!to的结果userinput,因此userinput不会被覆盖为nil

于 2013-09-22T18:06:55.460 回答