在`initialize'中:string包含空字节Ruby

时间:2014-02-13 05:53:34

标签: ruby initialization

我在桌面上编写了以下代码并且工作正常。我在笔记本电脑上下载了它,下载了ruby(v1.9.3),并试图运行它,但是出现了以下错误。我很确定它与第一次使用Ruby有关,但是当我第一次运行Ruby时,我的桌面上从未出现过这个问题。

C:/Users/Downloads/vscript.rb:18:in 'initialize': string contains null byte (ArgumentError)
from C:/Users/Downloads/vscript.rb:18:in 'open'
from C:/Users/Downloads/vscript.rb:18:in 'main'

第18行是File.open行:

File.open("filename", "r") do |f|

  # Do while there are characters in the text file
  f.each do |line|

    # Checks to see if any parts in file match the regex and inform the user
    if x = line.match(/\d\.\d\.\d{4}\.\d/)
      puts "#{x} was found in the file."
    end
  end
end

1 个答案:

答案 0 :(得分:1)

想出来。当我最初编写代码时,文件名已经/分隔文件夹。当我在笔记本电脑上下载文件时,我从使用\的地址栏复制了新目录。改变了,现在工作正常。