【发布时间】:2018-06-15 19:15:41
【问题描述】:
我在 Ruby 中有一个代码示例,它将数据通过管道传输到寻呼机,以便将其部分打印到 STDOUT:
input = File.read "some_long_file"
pager = "less"
IO.popen(pager, mode="w") do |io|
io.write input
io.close
end
我可以像这样将它用于 Crystal 没有问题:
input = File.read "some_long_file"
pager = "less"
Process.run(pager, output: STDOUT) do |process|
process.input.puts input
process.input.close
end
但是,如果我更改 pager = "more",那么 Ruby 示例仍然可以正常工作,但 Crystal sn-p 会转储所有数据,而不是分批提供数据。我该如何解决?
水晶 0.25.0 [7fb783f7a] (2018-06-11)
LLVM:4.0.0
默认目标:x86_64-unknown-linux-gnu
【问题讨论】:
标签: process pipe crystal-lang