在[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)
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)