Курс по Raku / Напреднали / Контейнери / Подредени контейнери / Exercises / Свържете скалар
Решение: Свържете скалар
Ето едно възможно решение на задачата.
Код
my $source = 1;
my $bound := $source;
my $copy = $source;
$source = 9;
say $bound;
say $copy;🦋 Можете да намерите изходния код във файла bind-a-scalar.raku.
Резултат
9
1Коментари
Свързването с
:=прави$boundдруго име за същия контейнер като$source, а не негово копие. Затова промяната на$sourceе видима чрез$bound, което отпечатва9.Обикновеното присвояване с
=копира стойността в отделен контейнер, така че$copyне е засегнат от по-късната промяна и все още отпечатва1.Виждането на двете едно до друго е целият смисъл:
:=споделя контейнер,=дублира стойността.
Навигация в курса
← Свържете скалар | Контексти 🆕 →