Курс языка программирования Raku / Продвинутый уровень / Контейнеры / Скалярные контейнеры

Типы данных и скалярные контейнеры

Давайте рассмотрим программу, которая повторно использует одну и ту же переменную для хранения данных разного типа. Мы используем dd, чтобы увидеть, что содержит контейнер на каждом шаге. Этот пример приведён в демонстрационных целях и не является рекомендуемым стилем программирования.

my $value;
dd $value;

$value = 42;
dd $value;

$value = 'forty-two';
dd $value;

Каждый вызов dd показывает, что в данный момент содержит переменная $value:

$value = Any
$value = 42
$value = "forty-two"

Сначала переменная пуста, и dd показывает её значение как Any — неопределённое базовое значение, с которого начинается нетипизированный контейнер. После присваиваний dd показывает сначала целое число, а затем строку.

Обратите внимание, что dd не выводит тип перед именем. Нетипизированный контейнер не привязан к какому-либо типу, поэтому показывается только значение. Как вы увидите в следующей теме, контейнер с объявленным типом ведёт себя иначе.

Навигация по курсу

Скалярные контейнеры   |   Ограничения типов


💪 Или перейдите сразу к упражнениям этого раздела.