Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > zlibライブラリ > Zlib::Deflateクラス > deflate
deflate(string, level = Zlib::DEFAULT_COMPRESSION) -> String[permalink][rdoc]string を圧縮します。level の有効な値は Zlib::NO_COMPRESSION, Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION 及び 0 から 9 の整数です。
ちなみに、このメソッドは以下のコードとほぼ同じです:
def deflate(string, level) z = Zlib::Deflate.new(level) dst = z.deflate(string, Zlib::FINISH) z.close dst end
使用例
require 'zlib'
srand(1)
str = (1..500).collect{
['A', 'T', 'C', 'G'].at(rand(4))
}.join
p str.size #=> 500
[ Zlib::NO_COMPRESSION,
Zlib::BEST_SPEED,
Zlib::BEST_COMPRESSION,
Zlib::DEFAULT_COMPRESSION ].each { |level|
deflate_str = Zlib::Deflate.deflate(str, level)
p deflate_str.size
# 展開する場合は、下記を実行する
#puts Zlib::Inflate.inflate(str)
}
#出力例
#=> 511
#=> 200
#=> 194
#=> 194