Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library zlib > class Zlib::Deflate > deflate
deflate(string, level = Zlib::DEFAULT_COMPRESSION) -> String
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