Ruby。包括?方法不被接受为有效方法

时间:2016-01-25 02:12:21

标签: ruby methods runtime-error

我在脚本中有这个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和其他一些网站,但他们同意这是使用这种方法的正确方法。

我检查了错误消息并确认此脚本/我的示例中的第三行是问题的根源,因此该方法的其他实例不会引发错误。

有什么想法?请帮助!

1 个答案:

答案 0 :(得分:3)

问题是$dev_inputnil。这源于在定义downcase!时应用$dev_input。我不知道您为什么要将nil分配给$dev_input,同时声称在其上调用include?是正确的方法。我不打算这样做,但如果你改为$dev_input = gets.chomp.downcase,那么它不会导致这样的错误。