在 Proc::Async 中§
有关方法 stdout 的主要文档,请参阅上下文。
method stdout(Proc::Async: : --> Supply)
返回外部程序标准输出流的 Supply
。如果传递了 :bin
,则标准输出将以二进制形式作为 Blob
传递,否则将被解释为 UTF-8,解码并作为 Str
传递。
my = Proc::Async.new(:r, 'echo', 'Raku');.stdout.tap( ->);my = .start;await ;
必须在调用 .start
之前调用 stdout
。否则,将引发 X::Proc::Async::TapBeforeSpawn
类的异常。
如果未调用 stdout
,则根本不会捕获外部程序的标准输出。
请注意,不能在同一个对象上同时使用和不使用 :bin
调用 stdout
;如果尝试这样做,它将引发 X::Proc::Async::CharsOrBytes
类型的异常。
使用 .Supply
合并 STDOUT 和 STDERR。