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

Ключи, значения и пары

Другие наречия изменяют то, что возвращает обращение по индексу. По умолчанию возвращается значение; эти наречия позволяют получить больше:

  • :v — значение (по умолчанию)
  • :k — ключ (или индекс)
  • :kv — и ключ, и значение
  • :p — пару (Pair) из ключа и значения

Для массива «ключом» является индекс:

my @a = 10, 20, 30;

say @a[1]:kv; # (1 20)
say @a[1]:p;  # 1 => 20

@a[1]:kv возвращает индекс и значение в виде списка, а @a[1]:p — в виде пары.

То же самое работает и для хешей, и это особенно удобно при срезе нескольких ключей сразу:

my %h = a => 1, b => 2, c => 3;

say %h<a c>:kv; # (a 1 c 3)

Здесь срез из двух ключей возвращается в виде чередующихся ключей и значений. Эти наречия часто используются в map, for и других конструкциях, когда нужно обрабатывать ключи и значения параллельно, без разделения работы на отдельные запросы.

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

Тест — Наречия индексации   |   Существует ли ключ


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