本文简要介绍ruby语言中 Zlib::Inflate.inflate
的用法。
用法
inflate(deflate_string, buffer: nil) → String
inflate(deflate_string, buffer: nil) { |chunk| ... } → nil
将deflate_string
输入到膨胀流中并返回流的输出。调用此方法,流的输入和输出缓冲区都被刷新。如果 string 是 nil
,则此方法完成流,就像 Zlib::ZStream#finish
一样。
如果给定一个块,则来自deflate_string
的连续膨胀块将屈服于该块并返回nil
。
如果给出了 a:buffer 关键字参数而不是 nil:
-
:buffer 关键字应该是
String
,并将用作输出缓冲区。使用此选项可以重用膨胀期间所需的内存。 -
不传递块时,返回值将是与:buffer 关键字参数相同的对象。
-
当传递一个块时,产生的块将与:buffer 关键字参数的值相同。
如果需要预设字典来解压缩,则会引发 Zlib::NeedDict
异常。 Set
Zlib::Inflate#set_dictionary
的字典,然后用空字符串再次调用此方法以刷新流:
inflater = Zlib::Inflate.new
begin
out = inflater.inflate compressed
rescue Zlib::NeedDict
# ensure the dictionary matches the stream's required dictionary
raise unless inflater.adler == Zlib.adler32(dictionary)
inflater.set_dictionary dictionary
inflater.inflate ''
end
# ...
inflater.close
相关用法
- Ruby Inflate.inflate用法及代码示例
- Ruby Inflate.new用法及代码示例
- Ruby Inflate.sync_point?用法及代码示例
- Ruby Integer.nobits?用法及代码示例
- Ruby Integer lcm()用法及代码示例
- Ruby Integer.self >=用法及代码示例
- Ruby Integer.self >>用法及代码示例
- Ruby Integer.next用法及代码示例
- Ruby Integer.self ** numeric用法及代码示例
- Ruby Integer integer?用法及代码示例
- Ruby Integer.truncate用法及代码示例
- Ruby Integer digits用法及代码示例
- Ruby Integer divmod()用法及代码示例
- Ruby Integer floor()用法及代码示例
- Ruby Integer.sqrt用法及代码示例
- Ruby Integer to_f用法及代码示例
- Ruby Integer to_s用法及代码示例
- Ruby Integer.bit_length用法及代码示例
- Ruby InstructionSequence.base_label用法及代码示例
- Ruby Integer times用法及代码示例
- Ruby Integer truncate()用法及代码示例
- Ruby Integer remainder()用法及代码示例
- Ruby Integer.floor用法及代码示例
- Ruby Integer.pred用法及代码示例
- Ruby Integer.gcd用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Inflate.inflate。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。