DF
Size: a a a
DF
DF
DF
DF
AK
DF
DF
В
map_while, который продолжает возвращать Some(_), после None? e.g.:use std::convert::identity;
let mut iter = vec![Some(0), None, Some(1)].into_iter().map_while(identity);
assert_eq!(iter.next(), Some(0));
assert_eq!(iter.next(), None);
assert_eq!(iter.next(), Some(1));p
p
map_while, который продолжает возвращать Some(_), после None? e.g.:use std::convert::identity;
let mut iter = vec![Some(0), None, Some(1)].into_iter().map_while(identity);
assert_eq!(iter.next(), Some(0));
assert_eq!(iter.next(), None);
assert_eq!(iter.next(), Some(1));r
map_while, который продолжает возвращать Some(_), после None? e.g.:use std::convert::identity;
let mut iter = vec![Some(0), None, Some(1)].into_iter().map_while(identity);
assert_eq!(iter.next(), Some(0));
assert_eq!(iter.next(), None);
assert_eq!(iter.next(), Some(1));map_while отличается от map?r
r
r
.map_while() будет равно .and_then().fuse()r
В
and_then? and_then на мой взгляд одно из худший названий в std >_<AZ
В
.enumerate().filter_map(|(idx, e)| {
    let result = ...;
    if result.is_none() { dbg!(idx); }
    result
})r
and_then? and_then на мой взгляд одно из худший названий в std >_<map_while() в текущем виде. А про предложенный вариант, который не останавливается на первом Noner
.enumerate().filter_map(|(idx, e)| {
    let result = ...;
    if result.is_none() { dbg!(idx); }
    result
})map() в Option<>