Курс языка программирования Raku / Основы / Позиционные типы данных

Массивы

Массивы — это агрегированные типы данных, которые могут содержать более одного значения. Это отличает массивы от скалярных элементов. Элементы массива могут быть индексированы (или субскриптированы). Другими словами, их элементы имеют позицию (что объясняет общее название для этого типа данных: позиционные).

Массивные переменные используют другой тип сигила: @. Правила для имени переменной такие же, как для скаляров.

my @cities;

До сих пор массив с именем @cities был создан. Вы можете заполнить его некоторыми значениями:

@cities = 'Paris', 'Rome', 'Berlin';

Кроме того, можно сразу инициализировать значения:

my @cities = 'Paris', 'Rome', 'Berlin';

Индексация

Чтобы получить доступ к отдельному элементу массива, используйте пару скобок, которые вы размещаете после имени переменной:

say @cities[1];

Обратите внимание, что сигил всегда остается тем же. Так как элементы считаются с нуля, элемент @cities[1] в нашем примере — это 'Rome'.

Массивы изменяемы, поэтому вы можете легко изменить их элементы, просто присвоив им новое значение:

@cities[0] = 'Rome';
@cities[1] = 'Paris';

После этого оператор say @cities[1] выведет новое значение 'Paris'.

Размер

Чтобы получить текущую длину массива, или, другими словами, количество его элементов, используйте метод elems:

say @cities.elems; # 3

Если массив появляется в контексте, где ожидается числовой параметр, возвращаемое значение — это размер массива:

say +@cities; # 3

Здесь, + префиксный оператор требует числовое значение от своего аргумента, поэтому результатом +@cities будет 3.

Практика

Пройдите викторину, которая охватывает содержание этой темы.

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

Позиционные типы данных   |   Позиционные типы данных / Вложенные массивы


💪 Or jump directly to the exercises to this section.

Эта страница автоматически переведена с помощью ChatGPT 4o. Оригинальный текст на английском языке.

Переводы этой страницы: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська