names=lineno
visibility=public
kind=defined

--- lineno -> Fixnum | Bignum
IO クラスの同名メソッド[[m:IO#lineno]]と同じです。

但し、gzip ファイル中に
エラーがあった場合 [[c:Zlib::Error]] 例外や
[[c:Zlib::GzipFile::Error]] 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッターには圧縮前データのチェックサムが
記録されています。GzipReader オブジェクトは、次の時に展開した
データとフッターの照合を行い、エラーがあった場合は
[[c:Zlib::GzipFile::NoFooter]], [[c:Zlib::GzipFile::CRCError]],
[[c:Zlib::GzipFile::LengthError]] 例外を発生させます。

  * EOF (圧縮データの最後) を越えて読み込み要求を受けた時。
    すなわち [[m:Zlib::GzipReader#read]],
    [[m:Zlib::GzipReader#gets]] メソッド等が nil を返す時。
  * EOF まで読み込んだ後、[[m:Zlib::GzipFile#close]] メソッドが
    呼び出された時。
  * EOF まで読み込んだ後、[[m:Zlib::GzipReader#unused]] メソッドが
    呼び出された時。

@raise Zlib::Error [[c:Zlib::Error]] を参照
@raise Zlib::GzipFile::Error [[c:Zlib::GzipFile::Error]]を参照
@raise Zlib::GzipFile::NoFooter [[c:Zlib::GzipFile::NoFooter]]を参照
@raise Zlib::GzipFile::CRCError [[c:Zlib::GzipFile::CRCError]]を参照
@raise Zlib::GzipFile::LengthError [[c:Zlib::GzipFile::LengthError]]を参照

  =begin
  # hoge.gz がない場合は下記で作成できる。
  Zlib::GzipWriter.open('hoge.gz') { |gz|
    gz.puts 'h'
    gz.puts 'o'
    gz.puts 'g'
    gz.puts 'e'
  }
  =end

  Zlib::GzipReader.open('hoge.gz') { |gz|
    while l = gz.gets
      l.chomp!
      printf "%s %d\n", l, gz.lineno
    end
  }
  #=> h 1
  #=> o 2
  #=> g 3
  #=> e 4

@see [[m:IO#lineno]]

