gpt4 book ai didi

raku - 嵌套列表的 Perl 6 赋值 super 运算符无法按预期工作

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

您好,我正在尝试使用 Perl 6 中的赋值 super 运算符https://docs.perl6.org/language/operators#Hyper_operators

my (@one, @two) «=» (<1 2 3>,<4 5 6>);
say @one;
say @two;
# Prints nothing (empty array)

# Expected behaviour:
@one=<1 2 3>;
@two=<4 5 6>;
say @one;
say @two;
# Prints [1 2 3] and [4 5 6]

如何让赋值超算子正确操作?谢谢。

最佳答案

你很接近。在我们发现的文档中稍微进一步

zip 元操作符(与 Z 不同)将给定的中缀操作符应用于从其参数中获得的一对左,一个右。

所以

my (@one, @two) Z= <1 2 3>, <4 5 6>;

这是在当前开发人员版本上运行的基准测试。它将上面的“魔术”变体与两个顺序分配进行比较。
use v6;
use Benchmark;

my %results = timethese(100000, {
"magic" => sub { my (@one, @two) Z= <1 2 3>, <4 5 6> },
"plain" => sub { my @one = <1 2 3>; my @two = <4 5 6> },
});

say ~%results;

# magic 1569668462 1569668464 2 0.00002
# plain 1569668464 1569668464 0 0

关于raku - 嵌套列表的 Perl 6 赋值 super 运算符无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58139971/

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