Последовательность Range в Rust
В языке программирования Rust последовательности обычно применяются в целях получения какой-либо части набора элементов, к примеру, строки либо массива, хотя, конечно же, это не единственное применение последовательностей. В этой заметке мы рассмотрим тип Range -- последовательность, представляющую определенный диапазон элементов.
При создании последовательности используется оператор .. (две точки). Общая форма выглядит следующим образом:
Слева от .. указывают начальное значение диапазона, тогда как справа -- конечное значение. Также важно отметить, что конечное значение в диапазон не включается.
Кроме того, когда начальное значение больше, чем конечное, последовательность будет пустой.
Рассмотрим пример:
Из примера следует, что формируется последовательность чисел 1-9, причем 9 в эту последовательность не включается. Перебор последовательности можно осуществить, используя цикл for.
Идем дальше: хоть мы и можем задействовать оператор .. в целях создания последовательности, в реальности эта последовательность, по сути, представляет структуру std::ops::Range, имеющую 2 поля: начальное значение start и конечное значение end. Исходя из сказанного, предыдущий код можно переписать иначе:
Чтобы определить последовательность, также можно применить модификацию оператора - ..=, что позволит включить в диапазон конечное значение:
Применение последовательностей
На практике последовательности весьма удобно использовать, если надо взять какую-либо часть массива, допустим:
Впрочем, более подробно про применение последовательностей в целях извлечения поднабора смотрите в статье, посвященной типу Slice.
По материалам https://metanit.com/.