类 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