let mut iter = points.iter().peekable();
iter.fold(0, |acc, x| {
if let Some(next) = iter.peek() {
let diff = next[0] - x[0];
if diff > acc {
diff
} else {
acc
}
} else {
acc
}
});
Можно конечно, но в таком виде оно не заработает
нет, тот же fold поглощает итератор, как и map и прочие комбинаторы
ну вот да, странно что внутри адаптеров Peekable не заюзаешь, или я чего-то не понимаю
peekable хорошо в циклах применяется вида while let Some(item) = iter.next() { let next = iter.peek(); ... }
Обсуждают сегодня