zcat(io, options = {}) -> StringRuby 3.0 から[permalink][rdoc][edit]zcat(io, options = {}) {|string| ... } -> nil-
io に含まれているすべての gzip ストリームを展開します。
io の末尾まで、複数の gzip ストリームが連続して格納されている場合も扱います。gzip ストリームの後ろに gzip 形式以外のデータがあってはいけません。
ブロックが与えられた場合は、展開したストリームごとにブロックを呼び出し、
nilを返します。ブロックが与えられなかった場合は、すべてのストリームを展開した結果を連結した文字列を返します。- [PARAM]
io: - 読み込み元の IO オブジェクトを指定します。
- [PARAM]
options: - Zlib::GzipReader.new に渡すオプションをハッシュで指定します。
require 'zlib' File.open('multi.gz', 'wb') { |f| f.write(Zlib.gzip('hoge')) f.write(Zlib.gzip('fuga')) } File.open('multi.gz') { |f| p Zlib::GzipReader.zcat(f) # => "hogefuga" } File.open('multi.gz') { |f| Zlib::GzipReader.zcat(f) { |chunk| p chunk } } # => "hoge" # => "fuga"[SEE_ALSO] Zlib::GzipReader.new
- [PARAM]