вложенности и не увеличивать цикломатическую сложность кода? Где-то видел пример, но вылетел из башки.
                  
                  
                  
                  
                  
                  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
Обсуждают сегодня