Могу ли я связать сразу несколько переменных?
Следующая строка объявляет переменную и связывает ее с числом справа.
my $a := 42;
Эффект таков, что это не а, а, как видно из
say $a.VAR.^name;
Мой вопрос: могу ли я связать несколько переменных в одном объявлении? Это не работает:
my ($a, $b) := 17, 42;
потому что, как можно увидеть, используя
say $a.VAR.^name
, оба и сейчас. (Думаю, я понимаю, почему это происходит, вопрос в том, есть ли другой подход, который связывает оба
$a
а также
$b
дать
Int
s без создания
Scalar
с.)
Кроме того, есть ли разница между использованием
:=
а также
=
в таком случае?
1 ответ
Решение
Вы можете использовать контейнеры без сигил:
my (\a, \b) := 17,42;
say a.VAR.^name; # Int
Безсигильные переменные не имеют связанного контейнера