Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > zlibライブラリ > Zlib::GzipWriterクラス > new

singleton method Zlib::GzipWriter.new

new(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter[permalink][rdoc]

io と関連付けられた GzipWriter オブジェクトを作成します。 level, strategy は Zlib::Deflate.new と同じです。 GzipWriter オブジェクトは io に gzip 形式のデータを逐次ライトします。io には少なくとも、IO#write と同じ動作をする write メソッドが定義されている必要があります。

[PARAM] io:
IOオブジェクト、もしくは少なくとも、 IO#write と 同じ動作をする write メソッドが定義されている必要があります。
[PARAM] level:
0-9の範囲の整数を指定します。詳細はzlib.hを参照してください。
[PARAM] strategy:
Zlib::FILTERED, Zlib::HUFFMAN_ONLY, Zlib::DEFAULT_STRATEGYなど指定します。詳細はzlib.h を>参照してください。
require 'zlib'

filename='hoge1.gz'
f = File.open(filename, "w")
gz = Zlib::GzipWriter.new(f)
gz.puts "hogehoge" * 100
gz.close
p gz.closed? #=> true
p FileTest.size(filename) #=> 32