0Pricing
Zig Academy · Урок

Циклы for по диапазонам и элементам

Перебирайте последовательности и пары индексов.

«Циклы for по диапазонам и элементам» — бесплатный урок Zig Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Iterate with for

A for loop walks through the elements of a slice or array, handing you each item in turn. No manual index needed. 🚶

for (names) |name| {
    std.debug.print("{s}\n", .{name});
}

The Capture in Pipes

The name between pipes is the capture. On each pass it binds to the current element, giving you a clean, readable loop body.

Capturing by Reference

Prefix the capture with * to get a pointer to each element. That lets you modify items in place rather than copying them.

for (scores) |*s| {
    s.* += 1;
}

Getting the Index

Add a second sequence to pair items with an index. Zig walks both together, giving you the value and its position.

for (items, 0..) |item, i| {
    std.debug.print("{}: {}\n", .{ i, item });
}

0.. Is an Index Sequence

The 0.. form produces indices that match the length of the items. It is not a separate array, just a counter walked in lockstep.

Looping a Fixed Count

To repeat a set number of times, iterate over a range like 0..count. The capture holds the current number on each pass.

for (0..3) |n| {
    std.debug.print("step {}\n", .{n});
}

Ranges Are Half-Open

A range like 0..5 includes 0 but stops before 5, giving exactly five values. This half-open style matches slice lengths perfectly.

Iterating Two Slices

Pass several slices to walk them in parallel. Zig requires them to share the same length, then yields one element from each per pass.

for (keys, values) |k, v| {
    put(k, v);
}

break and continue Apply

Inside a for loop you can use break to exit early and continue to skip to the next item, just like in a while loop.

for as an Expression

A for can yield a value too. break returns a result, while an else clause supplies the value if the loop completes without breaking.

const idx = for (items, 0..) |x, i| {
    if (x == target) break i;
} else null;

Pick for or while

Reach for for when you have a sequence to walk. Choose while when looping depends on a condition rather than a collection.

Quick Check

You need both each item and its index in one for loop. Which header does that?

Recap

You ran for loops: capturing items, by-reference edits, indices with 0.., counting ranges, parallel slices, and the value-returning form. 🎯

Часто задаваемые вопросы

Урок «Циклы for по диапазонам и элементам» бесплатный?

Да — полный текст урока «Циклы for по диапазонам и элементам» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.

Чему я научусь в уроке «Циклы for по диапазонам и элементам»?

Перебирайте последовательности и пары индексов. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Zig Academy?

Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Циклы for по диапазонам и элементам»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Zig Academy?

Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. if как инструкция и выражение
  2. Циклы while и выражения continue
  3. Циклы for по диапазонам и элементам
  4. break, continue и именованные циклы
← Назад к Zig Academy