Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library zlib > class Zlib::GzipWriter > wrap
wrap(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter
wrap(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) {|gz| ... } -> object
io と関連付けられた GzipWriter オブジェクトを作成します。 ブッロクが与えられた場合、 それを引数としてブロックを実行します。 ブロックの実行が終了すると、GzipWriter オブジェクトは自動的に クローズされます。関連付けられている IO オブジェクトまで クローズしたくない時は、ブロック中で Zlib::GzipFile#finish メソッドを呼び出して下さい。
require 'zlib' def case1 filename='hoge1.txt' f = File.open(filename, "w") Zlib::GzipWriter.wrap(f, Zlib::NO_COMPRESSION){|gz| gz.puts "hogehoge" * 100 } p f.closed? #=> true p FileTest.size(filename) #=> 824 end def case2 filename='hoge1.gz' f = File.open(filename, "w") Zlib::GzipWriter.wrap(f, Zlib::BEST_COMPRESSION){|gz| gz.puts "hogehoge" * 100 gz.finish } p f.closed? #=> false f.close p FileTest.size(filename) #=> 32 end case1 case2