names=set_dictionary
visibility=public
kind=defined

--- set_dictionary(string) -> String

圧縮に用いる辞書を指定します。string を返します。
このメソッドは [[m:Zlib::Deflate.new]], [[m:Zlib::ZStream#reset]]
を呼び出した直後にのみ有効です。詳細は zlib.h を参照して下さい。

@param string 辞書に用いる文字列を指定します。詳しくは zlib.h を参照してください。
@return 辞書に用いる文字列を返します。 

  def case1(str)
    dez = Zlib::Deflate.new
    comp_str =  dez.deflate(str)
    comp_str << dez.finish
    comp_str.size
  end

  def case2(str, dict)
    dez = Zlib::Deflate.new
    p dez.set_dictionary(dict)
    comp_str = dez.deflate(str)
    comp_str << dez.finish
    comp_str.size
  end

  i = 10
  dict = 'hoge_fuga_ugougo'
  sset = [ dict, 'taeagbamike', 'ugotagma', 'fugebogya' ]
  g = [ 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]
  str = (1..i).collect{|m| t = rand(g.size); sset.at(g[t])}.join("")

  printf "%d normal:%d, dict:%d\n", i, case1(str), case2(str, dict)

