Метод skip
Метод skip создаёт новый итератор,
который пропускает первые ⁅i⁆n⁅/i⁆ элементов
исходного итератора и затем возвращает
все оставшиеся элементы. Параметром метод
принимает количество элементов, которое
нужно пропустить. Если в итераторе меньше
элементов, чем указано, новый итератор
окажется пустым.
Синтаксис
iter.skip(n)
Пример
Давайте пропустим первые два элемента
вектора vec![1, 2, 3, 4, 5]
и соберём оставшиеся элементы в новый вектор:
fn main()
{
let res: Vec<i32> = vec![1, 2, 3, 4, 5]
.into_iter()
.skip(2)
.collect();
println!("{:?}", res);
}
Результат выполнения кода:
[3, 4, 5]
Пример
Давайте пропустим первые три элемента
вектора vec!["a", "b", "c", "d", "e"]
и соберём оставшиеся элементы в новый вектор:
fn main()
{
let res: Vec<&str> = vec!["a", "b", "c", "d", "e"]
.into_iter()
.skip(3)
.collect();
println!("{:?}", res);
}
Результат выполнения кода:
["d", "e"]
Пример
Давайте попробуем пропустить больше
элементов, чем содержится в векторе
vec![1, 2, 3]:
fn main()
{
let res: Vec<i32> = vec![1, 2, 3]
.into_iter()
.skip(10)
.collect();
println!("{:?}", res);
}
Результат выполнения кода:
[]
Смотрите также
-
метод
take,
который берёт первые n элементов итератора -
метод
skip_while,
который пропускает элементы, пока предикат истинен -
метод
take_while,
который берёт элементы, пока предикат истинен -
метод
nth,
который возвращает n-й элемент итератора