種類
- インスタンスメソッド (83)
- 特異メソッド (22)
クラス
- ThreadsWait (6)
-
Zlib
:: Deflate (66) -
Zlib
:: Inflate (33)
キーワード
- finished? (6)
- flush (11)
- new (22)
- params (11)
-
set
_ dictionary (22)
検索結果
先頭5件
-
Zlib
:: Deflate # finish -> String (24347.0) -
圧縮ストリームを終了します。deflate('', Zlib::FINISH) と同じです。
...圧縮ストリームを終了します。deflate('', Zlib::FINISH) と同じです。
require 'zlib'
dez = Zlib::Deflate.new
dez << "123" * 5 << "ugougo" << "123" * 5 << "hogehoge"
dezstr = dez.finish
p dezstr #=> "x\2343426DB\245\351\371@d\210*\230\221\237\236\n\302\000\356\275\v\271"... -
Zlib
:: Inflate # finish -> String (24325.0) -
展開ストリームを終了します。
...ゴミデータ) を返します。
Zlib::ZStream#finished? が真でない時に finish を呼ぶと
例外が発生します。
展開ストリームは圧縮データ内に終了コードを発見した時点で
自ら終了するため、明示的に finish を呼ぶ必要は必ずしも
あり......ませんが、このメソッドは圧縮データが正しく終了しているかを
確認するのに便利です。
require 'zlib'
cstr = "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
inz = Zlib::Inflate.new
inz << cstr
p inz.finish #=> "hoge fuga end"... -
Zlib
:: Deflate # <<(string) -> self (21230.0) -
Zlib::Deflate#deflate と同じように string を 圧縮ストリームに入力しますが、Zlib::Deflate オブジェクト そのものを返します。圧縮ストリームからの出力は、 出力バッファに保存されます。
...Zlib::Deflate#deflate と同じように string を
圧縮ストリームに入力しますが、Zlib::Deflate オブジェクト
そのものを返します。圧縮ストリームからの出力は、
出力バッファに保存されます。
@param string 圧縮する文字列を指定しま......す。
require 'zlib'
dez = Zlib::Deflate.new
dez << "123" * 5 << "ugougo" << "123" * 5 << "hogehoge"
dezstr = dez.finish
p dezstr #=> "x\2343426DB\245\351\371@d\210*\230\221\237\236\n\302\000\356\275\v\271"... -
ThreadsWait
# finished? -> bool (12212.0) -
すでに終了したスレッドが存在すれば true を返します。
...に終了したスレッドが存在すれば true を返します。
使用例
require 'thwait'
threads = []
3.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new(*threads)
p thall.finished? #=> false
sleep 3
p thall.finished? #=> true... -
Zlib
:: Deflate # set _ dictionary(string) -> String (6142.0) -
圧縮に用いる辞書を指定します。string を返します。 このメソッドは Zlib::Deflate.new, Zlib::ZStream#reset を呼び出した直後にのみ有効です。詳細は zlib.h を参照して下さい。
...指定します。string を返します。
このメソッドは Zlib::Deflate.new, Zlib::ZStream#reset
を呼び出した直後にのみ有効です。詳細は zlib.h を参照して下さい。
@param string 辞書に用いる文字列を指定します。詳しくは zlib.h を参照してく......uire 'zlib'
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.siz......nd
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, dic... -
Zlib
:: Inflate # set _ dictionary(string) -> String (6112.0) -
展開に用いる辞書を指定します。string を返します。 このメソッドは Zlib::NeedDict 例外が発生した直後のみ 有効です。詳細は zlib.h を参照して下さい。
...す。string を返します。
このメソッドは Zlib::NeedDict 例外が発生した直後のみ
有効です。詳細は zlib.h を参照して下さい。
@param string 展開に用いる辞書を文字列で指定します。
require 'zlib'
def case2(str, dict)
dez = Zlib::Deflat......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(c......omp_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)... -
Zlib
:: Deflate . new(level = Zlib :: DEFAULT _ COMPRESSION , windowBits = Zlib :: MAX _ WBITS , memlevel = Zlib :: DEF _ MEM _ LEVEL , strategy = Zlib :: DEFAULT _ STRATEGY) -> Zlib :: Deflate (3512.0) -
圧縮ストリームを作成します。各引数の詳細は zlib.h を 参照して下さい。nil の場合はデフォルトの値を使用します。
...。各引数の詳細は zlib.h を
参照して下さい。nil の場合はデフォルトの値を使用します。
@param level 0-9の範囲の整数, またはZlib::DEFAULT_COMPRESSIONを指定します。詳細はzlib.hを参照してください。
@param windowBits ウィンドウの大き......詳細はzlib.hを参照してください。
@param strategy Zlib::FILTERED, Zlib::HUFFMAN_ONLY, Zlib::DEFAULT_STRATEGYなど指定します。詳細はzlib.h を参照してください。
require 'zlib'
dez = Zlib::Deflate.new(9, nil, 9)
dez << "123" * 20
dezstr = dez.finish
p dezstr......#=> "x\3323426$\027\001\000e\217\v\271"
inz = Zlib::Inflate.new
inzstr = inz.inflate(dezstr)
p inzstr #=> "123123123123123123123123123123123123123123123123123123123123"... -
Zlib
:: Inflate . new(window _ bits = Zlib :: MAX _ WBITS) -> Zlib :: Inflate (3212.0) -
展開ストリームを作成します。
...window_bits ウィンドウの大きさを整数で指定します。
nil の場合はデフォルトの値を使用します。
詳細は zlib.h を参照してください。
require 'zlib'
cstr = "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
inz......= Zlib::Inflate.new(15)
inz << cstr
p inz.finish #=> "hoge fuga end"... -
Zlib
:: Deflate # flush(flush = Zlib :: SYNC _ FLUSH) -> String (3148.0) -
deflate('', flush) と同じです。flush が 省略された時は Zlib::SYNC_FLUSH が使用されます。 このメソッドはスクリプトの可読性のために提供されています。
...された時は Zlib::SYNC_FLUSH が使用されます。
このメソッドはスクリプトの可読性のために提供されています。
@param flush Zlib::NO_FLUSH Zlib::SYNC_FLUSH Zlib::FULL_FLUSH などを指定します。
require 'zlib'
def case1
dez = Zlib::Deflate.new......oge')
comp_str << dez.deflate(' fuga')
comp_str << dez.deflate(' end', Zlib::FINISH)
dez.close
p comp_str
p Zlib::Inflate.inflate(comp_str)
end
def case2
dez = Zlib::Deflate.new
comp_str = dez.deflate('hoge')
comp_str << dez.flush
comp_str << dez.deflate(' fu......ga')
comp_str << dez.flush
comp_str << dez.deflate(' end', Zlib::FINISH)
dez.close
p comp_str
p Zlib::Inflate.inflate(comp_str)
end
case1
case2
#=> "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
#=> "hoge fuga end"
#=> "x\234\312\310OO\005\000\000\000\377\377RH+M... -
Zlib
:: Deflate # params(level , strategy) -> nil (3136.0) -
圧縮ストリームの設定を変更します。詳しくは zlib.h を 参照して下さい。設定の変更に伴うストリームからの出力は 出力バッファに保存されます。
...す。詳しくは zlib.h を
参照して下さい。設定の変更に伴うストリームからの出力は
出力バッファに保存されます。
@param level 0-9の範囲の整数, または Zlib::DEFAULT_COMPRESSION を指定します。
詳細はzlib.hを参照してくだ......ib::FILTERED, Zlib::HUFFMAN_ONLY,
Zlib::DEFAULT_STRATEGY など指定します。詳細は zlib.h を参照してください。
require 'zlib'
def case1
dez = Zlib::Deflate.new
comp_str = dez.deflate('hoge'*5);
comp_str << dez.deflate('0'*80)
comp_str << dez.fi......ish
p comp_str
p Zlib::Inflate.inflate(comp_str)
end
def case2
dez = Zlib::Deflate.new
comp_str = dez.deflate('hoge'*5);
dez.params(Zlib::BEST_COMPRESSION, Zlib::HUFFMAN_ONLY)
comp_str << dez.deflate('0'*80)
comp_str << dez.finish
p comp_str
p Zlib::Inflate.i...