gpt4 book ai didi

io - 试图重铸 $*ARGFILES

转载 作者:行者123 更新时间:2023-12-03 15:35:06 33 4
gpt4 key购买 nike

为了fix this error我需要将 $*ARGFILES 重新转换为 IO::CatHandle,因为它使用了该类的一些属性。我正在尝试这个:

use IO::CatHandle::AutoLines; # -*- mode:perl6 -*-
use Test;

if $*ARGFILES === $*IN {
$*ARGFILES = IO::CatHandle.new( $*IN );
}
eval-lives-ok "$*ARGFILES does IO::CatHandle::AutoLines", "Can recast \$*ARGFILES";


但这会产生错误:
# Error: Unsupported use of <STDIN>; in Perl 6 please use $*IN.lines (or add whitespace to suppress warning)

我认为这与我混合的角色无关,但我添加它是为了上下文。知道还有什么可以做的吗?

最佳答案

您看到的错误非常 LTA,但是使用双引号的副作用,当您应该使用单引号时:

eval-lives-ok '$*ARGFILES does IO::CatHandle::AutoLines',
"Can recast \$*ARGFILES";
# ok 1 - Can recast $*ARGFILES

所以你试图字符串化 $*ARGFILES , 产生字符串:
<STDIN> does IO::CatHandle::AutoLines

而这不是 EVAL很好 :-)

关于io - 试图重铸 $*ARGFILES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60670369/

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