类 Psych::Stream
Psych::Stream
是一个流式 YAML
发射器。它不会缓冲您的 YAML
,而是直接将其发送到 IO
。
以下是一个示例用法
stream = Psych::Stream.new($stdout) stream.start stream.push({:foo => 'bar'}) stream.finish
YAML
将立即被发射到 $stdout,不进行缓冲。
Psych::Stream#start
将接受一个代码块并确保调用 Psych::Stream#finish
,因此您可以使用这种形式
stream = Psych::Stream.new($stdout) stream.start do |em| em.push(:foo => 'bar') end