gpt4 book ai didi

file - perl6 IO::Handle没有printf方法,与文档不一致,或者我错过了什么?

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

我正在尝试打开一个文件进行写入,并使用printf进行格式化,但是文档和实际情况似乎并不相同。我想念什么吗?

To exit type 'exit' or '^D'
> my $fh=open "test", :w;
IO::Handle<"test".IO>(opened, at octet 0)
> $fh.printf: "test";
No such method 'printf' for invocant of type 'IO::Handle'
in block <unit> at <unknown file> line 1

但是根据文档,我的代码似乎还可以:
https://docs.perl6.org/routine/printf

非常感谢你 !!

最佳答案

the docs中的printf()示例对我也不起作用:

~/p6_programs$ perl6 -v
This is Rakudo version 2016.11 built on MoarVM version 2016.11
implementing Perl 6.c.

~/p6_programs$ cat 4.pl6
my $fh = open 'outfile.txt', :w;
$fh.printf: "The value is %d\n", 32;
$fh.close;

~/p6_programs$ perl6 4.pl6
No such method 'printf' for invocant of type 'IO::Handle'
in block <unit> at 4.pl6 line 3

您可以使用 sprintf()作为解决方法:
my $fh = open 'outfile.txt', :w;
$fh.say: sprintf "The value is %d", 32;
$fh.close;

fmt():
my $fh = open 'outfile.txt', :w;
$fh.say: 32.fmt("The value is %d");
$fh.close;

关于file - perl6 IO::Handle没有printf方法,与文档不一致,或者我错过了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41544111/

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