вложенности и не увеличивать цикломатическую сложность кода? Где-то видел пример, но вылетел из башки.
let v: Option<Vec<i32>> = None;
if v == None {
return;
}
// тут v должен быть: Vec<i32> (анврапнутый Option)
for n in &v {
println!("{}", n);
}
для резалтов есть ранний возврат с одновреиенным разворачиванием через оператор вопроса. для опшенов ничего такого встроенного нет
Да, видимо эта конструкция мне приснилась во сне. А жаль, удобно было бы
Так а чем не нравится : ? fn main () { let mut probably_vec:Option<Vec<i32>> = Some(vec![1,2,3,4,5]); if probably_vec.is_none(){ return; } for n in &probably_vec.unwrap() { println!("{}", n); } }
да я уже так и сделал по сути)
Но можно превратить option в result...
> для опшенов ничего такого встроенного нет но ведь есть же..
https://doc.rust-lang.ru/book/ch06-03-if-let.html
Обсуждают сегодня