Курс Raku / Розширені / Контейнери / Упорядковані контейнери / Вправи / Прив’язати скаляр
Розв’язання: Прив’язати скаляр
Ось один із можливих варіантів розв’язання задачі.
Код
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.Побачити це поруч — і є весь сенс:
:=розділяє контейнер,=дублює значення.
Навігація курсом
← Прив’язати скаляр | Контексти 🆕 →