在perl6中,我想将一个数组分配给另一个数组,并使得结果数组成为不同的实体,但似乎既没有直接赋值也没有克隆可以做我想要的。有没有办法用一个表达式复制数组而不是编写循环程序?
>>> res
[-45, 64, -41, -51, 95, 96, -74, -74, 56, 41, 41, 64, -62, 75]
非常感谢!!!
lisprog
答案 0 :(得分:5)
你不幸与@b比较,这可能帮助你解决了问题:)
==
是数字比较,因此当您要求将列表作为数字进行比较时,它会选择元素数作为表示。 Perl 5或6中的运算符强制涉及的类型。如果要测试数组的元素是否相同,请尝试eqv
运算符。
比较数组的长度,以下是正确的:
@a == @c == @x == 5
尝试:
my @a = <a b c d e>;
my @b = <1 2 3 4 5>;
@a eqv @b;
您可能想要查看这些运算符周围的一些文档。智能匹配~~
运算符可能更符合您对==
的期望。
https://docs.perl6.org/routine/$EQUALS_SIGN$EQUALS_SIGN https://docs.perl6.org/routine/$TILDE$TILDE