Raku 中超级运算符的结果类型

Nik*_*nes 7 raku

我很好奇什么规则决定了包括超级运算符在内的表达式的类型。让我们考虑一下这四种位置:

\n
my $ca = [1, 2];   # containerized array  $[1, 2]\nmy $ua := [1, 2];  # uncontanerized array [1, 2]\nmy $cl = (1, 2);   # containerized list   $(1, 2)\nmy $ul := (1, 2);  # uncontainerized list (1, 2)\n
Run Code Online (Sandbox Code Playgroud)\n

我观察到,评估x \xc2\xab+\xc2\xbb y、 其中xy取自上面,会产生一个x类型的对象(续/非续;数组/列表),例如$cl \xc2\xab+\xc2\xbb $uais $(2, 4)

\n

然而,该表达式0 \xc2\xab+\xc2\xbb y是 s 类型的对象y,尽管文档声称首先将左侧转换为列表。确实1 \xc2\xab+\xc2\xbb $ua如此[1, 2],尽管我也希望如此(1, 2)

\n

超级算子应用程序结果类型的实际规则是什么?

\n