Rubinius中缺少GzipReader each_line方法

时间:2012-06-04 14:14:14

标签: ruby gzip rubinius

我正在尝试使用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

1 个答案:

答案 0 :(得分:1)

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

require 'zlib'
require 'stringio'

file = File.read("lines.txt.gz")
lines = Zlib::GzipReader.new(StringIO.new(file)).read