Могу ли я связать сразу несколько переменных?

Следующая строка объявляет переменную и связывает ее с числом справа.

      my $a := 42;

Эффект таков, что это не а, а, как видно из

      say $a.VAR.^name;

Мой вопрос: могу ли я связать несколько переменных в одном объявлении? Это не работает:

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

потому что, как можно увидеть, используя say $a.VAR.^name, оба и сейчас. (Думаю, я понимаю, почему это происходит, вопрос в том, есть ли другой подход, который связывает оба $a а также $b дать Ints без создания Scalarс.)

Кроме того, есть ли разница между использованием := а также = в таком случае?

1 ответ

Решение

Вы можете использовать контейнеры без сигил:

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

Безсигильные переменные не имеют связанного контейнера

Другие вопросы по тегам