我可以一次绑定多个变量吗?

Can I bind multiple variables at once?

下面一行声明了一个变量,绑定它到右边的数字。

my $a := 42;

效果是$a不是Scalar,而是Int,可以看出

say $a.VAR.^name;

我的问题是,我可以在一个声明中绑定多个变量吗?这不起作用:

my ($a, $b) := 17, 42;

因为,正如使用 say $a.VAR.^name 所见,$a$b 现在都是 Scalar。 (我想我明白为什么会发生这种情况,问题是是否有一种不同的方法可以将 $a$b 绑定到给定的 Int 而不创建 Scalar。 )

此外,在这种情况下使用:==有什么区别吗?

您可以使用无符号容器:

my (\a, \b) := 17,42;
say a.VAR.^name; # Int

无符号变量do not have an associated container