gpt4 book ai didi

io - 捕获模块输出

转载 作者:行者123 更新时间:2023-12-04 13:34:29 26 4
gpt4 key购买 nike

假设我们有这个模块:

unit module outputs;

say "Loaded";

我们像这样加载它
use v6;

use lib ".";

require "outputs.pm6";

这将在 require 时打印“已加载” d。假设我们要捕获该加载模块的标准输出。如果 it's an external process 我们可以这样做,但似乎没有重定向 *OUT 的方法到一个字符串,或者,如果不可能的话,到一个文件。是这样吗?

最佳答案

您可以尝试使用 IO::String :

use v6;
use lib ".";
use IO::String;

my $buffer = IO::String.new;
with $buffer -> $*OUT {
require "outputs.pm6";
};

say "Finished";
print ~$buffer;

输出 :
Finished
Loaded

另见 If I reassigned OUT in Perl 6, how can I change it back to stdout?

关于io - 捕获模块输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54855966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com