Последовательность Range в Rust | OTUS

Последовательность Range в Rust

В языке программирования Rust последовательности обычно применяются в целях получения какой-либо части набора элементов, к примеру, строки либо массива, хотя, конечно же, это не единственное применение последовательностей. В этой заметке мы рассмотрим тип Range -- последовательность, представляющую определенный диапазон элементов.

При создании последовательности используется оператор .. (две точки). Общая форма выглядит следующим образом:

1-20219-e398e8.png

Слева от .. указывают начальное значение диапазона, тогда как справа -- конечное значение. Также важно отметить, что конечное значение в диапазон не включается.

Кроме того, когда начальное значение больше, чем конечное, последовательность будет пустой.

Рассмотрим пример:

2-20219-0d44cd.png

Из примера следует, что формируется последовательность чисел 1-9, причем 9 в эту последовательность не включается. Перебор последовательности можно осуществить, используя цикл for.

Идем дальше: хоть мы и можем задействовать оператор .. в целях создания последовательности, в реальности эта последовательность, по сути, представляет структуру std::ops::Range, имеющую 2 поля: начальное значение start и конечное значение end. Исходя из сказанного, предыдущий код можно переписать иначе:

3-20219-2a7603.png

Чтобы определить последовательность, также можно применить модификацию оператора - ..=, что позволит включить в диапазон конечное значение:

4-20219-a1cc9e.png

Применение последовательностей

На практике последовательности весьма удобно использовать, если надо взять какую-либо часть массива, допустим:

5-20219-466e30.png

Впрочем, более подробно про применение последовательностей в целях извлечения поднабора смотрите в статье, посвященной типу Slice.

По материалам https://metanit.com/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто
Запланируй обучение с выгодой!
Получи скидку 10% на все курсы ноября и декабря до 17.11 →