クラス
-
Encoding
:: InvalidByteSequenceError (12) - Object (12)
-
Zlib
:: Deflate (36) -
Zlib
:: GzipWriter (24) -
Zlib
:: Inflate (36) -
Zlib
:: ZStream (24)
キーワード
- close (12)
- finished? (12)
- flush (12)
-
incomplete
_ input? (12) - inflate (12)
- params (12)
-
respond
_ to? (12) -
set
_ dictionary (24) -
stream
_ end? (12)
検索結果
先頭5件
-
Zlib
:: Inflate # finish -> String (18126.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
:: GzipWriter # finish -> File (15170.0) -
フッターを書き出し、GzipWriter オブジェクトをクローズします。close と finish の違いは Zlib::GzipFile#close, Zlib::GzipFile#finish を 参照して下さい。
...フッターを書き出し、GzipWriter オブジェクトをクローズします。close と
finish の違いは Zlib::GzipFile#close, Zlib::GzipFile#finish を
参照して下さい。
注意: Ruby の finalizer の制約のため、GzipWriter オブジェクトは
必ずクローズしてく......があります。
require 'zlib'
def case_finish
filename='hoge1.gz'
gz = Zlib::GzipWriter.open(filename, 9)
gz.puts "hogehoge\n" * 100
f = gz.finish
p f.atime
# 例
#=> Sun Jul 06 15:43:57 +0900 2008
end
def case_close
filename='hoge1.gz'
gz = Zli......b::GzipWriter.open(filename, 9)
gz.puts "hogehoge\n" * 100
f = gz.close
begin
p f.atime
rescue IOError => err
puts err #=> closed stream
end
end
case_finish
case_close... -
Zlib
:: ZStream # finished? -> bool (6102.0) -
ストリームへの入力が終了している時に真を返します。
ストリームへの入力が終了している時に真を返します。 -
Zlib
:: ZStream # stream _ end? -> bool (6102.0) -
ストリームへの入力が終了している時に真を返します。
ストリームへの入力が終了している時に真を返します。 -
Object
# respond _ to?(name , include _ all = false) -> bool (91.0) -
オブジェクトがメソッド name を持つとき真を返します。
...は false(含めない) を指定した事になります。
//emlist[][ruby]{
class F
def hello
"Bonjour"
end
end
class D
private
def hello
"Guten Tag"
end
end
list = [F.new,D.new]
list.each{|it| puts it.hello if it.respond_to?(:hello)}
#=> Bonjour
list.each{|it| it.instan......template_method
finish
end
def start
puts "start"
end
def template_method
raise NotImplementedError.new
end
def finish
puts "finish"
end
end
class ImplTemplateMethod
include Template
def template_method
"implement template_method"
end
end
class NotImplT......emplateMethod
include Template
# not implement template_method
end
puts ImplTemplateMethod.new.respond_to?(:template_method) # => true
# NotImplementedError が発生しているが、Rubyによる実装部のため true を返す
puts NotImplTemplateMethod.new.respond_to?(:template_method) #... -
Zlib
:: GzipWriter # close -> File (70.0) -
フッターを書き出し、GzipWriter オブジェクトをクローズします。close と finish の違いは Zlib::GzipFile#close, Zlib::GzipFile#finish を 参照して下さい。
...フッターを書き出し、GzipWriter オブジェクトをクローズします。close と
finish の違いは Zlib::GzipFile#close, Zlib::GzipFile#finish を
参照して下さい。
注意: Ruby の finalizer の制約のため、GzipWriter オブジェクトは
必ずクローズしてく......があります。
require 'zlib'
def case_finish
filename='hoge1.gz'
gz = Zlib::GzipWriter.open(filename, 9)
gz.puts "hogehoge\n" * 100
f = gz.finish
p f.atime
# 例
#=> Sun Jul 06 15:43:57 +0900 2008
end
def case_close
filename='hoge1.gz'
gz = Zli......b::GzipWriter.open(filename, 9)
gz.puts "hogehoge\n" * 100
f = gz.close
begin
p f.atime
rescue IOError => err
puts err #=> closed stream
end
end
case_finish
case_close... -
Zlib
:: Deflate # flush(flush = Zlib :: SYNC _ FLUSH) -> String (49.0) -
deflate('', flush) と同じです。flush が 省略された時は Zlib::SYNC_FLUSH が使用されます。 このメソッドはスクリプトの可読性のために提供されています。
...te(' 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(' fuga')
comp_str << dez.flush
comp_str << dez.deflate(' end', Z......lib::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+MO\004\000\000\000\377\377SH\315K\001\000!\251\004\276"
#=> "hoge f... -
Zlib
:: Deflate # params(level , strategy) -> nil (25.0) -
圧縮ストリームの設定を変更します。詳しくは zlib.h を 参照して下さい。設定の変更に伴うストリームからの出力は 出力バッファに保存されます。
...comp_str << dez.finish
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.inflate(comp_str)
end
case1
case2
#=> "x\234\313\310OO\315@\303\006T\006\000D\367\0270"
#=> "hogehogehogehogehoge00000000000000000000000000000000000000000000000000000000000000000000000000000000"
#=> "x\234\005\3011\r\000\000\f\003 K\230j\326\257\376\277Aw\351.\335\245... -
Zlib
:: Deflate # set _ dictionary(string) -> String (25.0) -
圧縮に用いる辞書を指定します。string を返します。 このメソッドは Zlib::Deflate.new, Zlib::ZStream#reset を呼び出した直後にのみ有効です。詳細は zlib.h を参照して下さい。
...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 = [ di...