我很好奇什么规则决定了包括超级运算符在内的表达式的类型。让我们考虑一下这四种位置:
\nmy $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)\nRun Code Online (Sandbox Code Playgroud)\n我观察到,评估x \xc2\xab+\xc2\xbb y、 其中x和y取自上面,会产生一个x类型的对象(续/非续;数组/列表),例如$cl \xc2\xab+\xc2\xbb $uais $(2, 4)。
然而,该表达式0 \xc2\xab+\xc2\xbb y是 s 类型的对象y,尽管文档声称首先将左侧转换为列表。确实1 \xc2\xab+\xc2\xbb $ua如此[1, 2],尽管我也希望如此(1, 2)。
超级算子应用程序结果类型的实际规则是什么?
\n