0

我正在尝试使用 Zlib:GzipReader 读取 gzip 文件。使用 ruby​​ 1.9.3 可以按预期工作,但使用 Rubinius 时出现method_missing错误。each_line

有没有办法使用 Rubinius 读取压缩文件?

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
4

1 回答 1

1

我相信这是 Rubinius 中的一个错误,您应该考虑在项目中为它打开一个问题。但是,这种解决方法应该可以帮助您:

require 'zlib'
require 'stringio'

file = File.read("lines.txt.gz")
lines = Zlib::GzipReader.new(StringIO.new(file)).read
于 2012-06-04T17:03:39.303 回答