我正在尝试使用Zlib:GzipReader读取gzip压缩文件。这可以使用ruby 1.9.3按预期工作,但在使用Rubinius时,method_missing
出现each_line
错误。
有没有办法使用Rubinius读取gzip压缩文件?
require 'zlib'
Zlib::GzipReader.open("lines.txt.gz").each_line { |line|
puts "#{line}"
}
Kernel(Zlib::GzipReader)#each_line (method_missing) at kernel/delta/kernel.rb:81
答案 0 :(得分:1)
我相信这是Rubinius的一个错误,你应该考虑用这个项目为它开一个问题。但是,这种解决方法可以帮助您:
require 'zlib'
require 'stringio'
file = File.read("lines.txt.gz")
lines = Zlib::GzipReader.new(StringIO.new(file)).read