Метод nth
Метод nth возвращает Option с n-м элементом итератора,
при этом отсчёт начинается с нуля. Все элементы до указанного индекса
будут пропущены и потреблены. Параметром метод принимает индекс
n типа usize - номер элемента, который нужно получить.
Если итератор содержит меньше элементов, метод вернёт None.
Синтаксис
iter.nth(n)
Пример
Давайте получим элемент с индексом 2 из вектора:
fn main()
{
let mut iter = vec![1, 2, 3, 4, 5].into_iter();
let res = iter.nth(2);
println!("{:?}", res);
}
Результат выполнения кода:
Some(3)
Пример
Давайте попробуем получить элемент с индексом 10 из вектора, в котором всего 5 элементов:
fn main()
{
let mut iter = vec![1, 2, 3, 4, 5].into_iter();
let res = iter.nth(10);
println!("{:?}", res);
}
Результат выполнения кода:
None
Пример
Давайте получим первый элемент итератора, передав индекс 0:
fn main()
{
let mut iter = vec!["a", "b", "c", "d", "e"].into_iter();
let res = iter.nth(0);
println!("{:?}", res);
}
Результат выполнения кода:
Some("a")
Пример
Метод nth потребляет элементы итератора, поэтому
повторный вызов с тем же индексом вернёт уже другой элемент:
fn main()
{
let mut iter = vec![1, 2, 3, 4, 5].into_iter();
let res1 = iter.nth(1);
let res2 = iter.nth(1);
println!("{:?}", res1);
println!("{:?}", res2);
}
Результат выполнения кода:
Some(2)
Some(4)