我在脚本中有这个Ruby代码:
$dev_input=gets.chomp.downcase!
if $dev_input.include? "/"
check_developer_commands()
else
puts ">>Invalid Command<<"
continuing_dev_mode()
end
问题是,每当我尝试运行包含此脚本的脚本时,我都会收到一个错误,然后向我说:
dev_continue_main.rb:3:in 'continuing_dev_mode': undefined method 'include?' for nil:NilClass (NoMethodError)
知道这个错误可能是什么?我很确定这是使用.include的正确方法吗?方法。我做了一些研究,查看了tutorialspoint.com和其他一些网站,但他们同意这是使用这种方法的正确方法。
我检查了错误消息并确认此脚本/我的示例中的第三行是问题的根源,因此该方法的其他实例不会引发错误。
有什么想法?请帮助!
答案 0 :(得分:3)
问题是$dev_input
是nil
。这源于在定义downcase!
时应用$dev_input
。我不知道您为什么要将nil
分配给$dev_input
,同时声称在其上调用include?
是正确的方法。我不打算这样做,但如果你改为$dev_input = gets.chomp.downcase
,那么它不会导致这样的错误。