set_dictionary(string) -> String
[permalink][rdoc]展開に用いる辞書を指定します。string を返します。このメソッドは Zlib::NeedDict 例外が発生した直後のみ有効です。詳細は zlib.h を参照して下さい。
require 'zlib' def case2(str, dict) dez = Zlib::Deflate.new dez.set_dictionary(dict) comp_str = dez.deflate(str) comp_str << dez.finish comp_str.size inz = Zlib::Inflate.new begin inz.inflate(comp_str) rescue Zlib::NeedDict end # 展開に用いる辞書が必要です。 inz.set_dictionary(dict) p inz.inflate(comp_str) end dict = 'hoge_fuga_ugougo' sset = [ dict, 'taeagbamike', 'ugotagma', 'fugebogya' ] g = [ 0, 0, 0, 1, 1, 1, 0, 0, 0, 3, 3, 3, 0, 0, 1, 1, 0, 0, 0, 1, 2, 2, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0] str = g.collect{|m| sset.at(m)}.join("") case2(str, dict)