未定义的方法“包括?” 对于 #<String:0x2907480>(NoMethodError)

blu*_*lds 1 ruby

在字符串文件上运行以下脚本时,我看到了这个奇怪且令人惊讶的错误:

ignored_files = [
".sln",
".csproj", 
".cs", 
]

File.open(ARGV[1], "w") do |out|
    File.open(ARGV[0], "r") do |f|
        f.each_line do |line|
            if not (ignored_files.any? { |ignored| line.includes? ignored})
                out.puts(line)
            end
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

这似乎是一个基本的问题,我很难过。我猜要么我有一个我似乎无法捕捉到的错字,要么我的 ruby​​ 安装以一种奇怪的方式被 fubar-ed,这允许其他类似的脚本正常运行。

想法?

bjh*_*aid 5

应该:

line.include? ignored
Run Code Online (Sandbox Code Playgroud)

并不是:

line.includes? ignored
Run Code Online (Sandbox Code Playgroud)

查看文档