10

以下行声明了一个变量并将其绑定到右侧的数字。

my $a := 42;

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

say $a.VAR.^name;

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

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

因为,从使用 可以看出say $a.VAR.^name,两者$a现在$b都是Scalars。(我想我理解为什么会发生这种情况,问题是是否有一种不同的方法可以在不创建s 的情况下同时绑定$a和绑定$b给定的s。)IntScalar

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

4

1 回答 1

9

您可以使用无符号容器:

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

Sigilless 变量没有关联的容器

于 2021-06-27T16:13:39.007 回答