Курс языка программирования 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.Увидеть их рядом — и есть весь смысл:
:=разделяет контейнер, а=дублирует значение.
Навигация по курсу
← Свяжите скаляр | Контексты →