R元运算符显然也颠倒了列表

jjm*_*elo 5 perl6 raku

[R metaop应该扭转它也适用于运营商的影响。但是,它的作用显然不止于此,如果那是应用于列表,则反转列表:

my @crossed = <1 2 3> Z <4 5 6>; # [(1 4) (2 5) (3 6)]
say [RZ] @crossed; # ((3 2 1) (6 5 4))
Run Code Online (Sandbox Code Playgroud)

我想获得的是原始列表,但是结果相反。我在这里想念什么吗?

gmo*_*kin 10

R metaop不会反转运算符的作用。相反,它会反转操作数顺序,即

$lhs <op> $rhs === $rhs R<op> $lhs
Run Code Online (Sandbox Code Playgroud)

或者在您的示例中,语义是这样的:

[RZ] [<1 4>, <2 5>, <3 6>] #is the same as [Z] [<3 6>, <2 5>, <1 4>]
Run Code Online (Sandbox Code Playgroud)


Val*_*kas 9

Z本身已经创建了原始列表。无需R运算符。

my @crossed = <1 2 3> Z <4 5 6>; # [(1 4) (2 5) (3 6)]
say [Z] @crossed; #((1 2 3) (4 5 6))
Run Code Online (Sandbox Code Playgroud)