(Обратите внимание на отсутствие скобок в функциях, которые указывают, что они используются как вызываемые объекты, а не принимают возвращаемое значение)
это:
loop {
let data = match something() {
Err(err) => {
warn!("An error: {}; skipped.", err);
continue;
},
Ok(x) => x
};
let data2 = match somethingElse() {
Err(err) => {
warn!("An error: {}; skipped.", err);
continue;
},
Ok(x) => x
};
// and so on
}
Если мне не нужно присваивать значение okdata
Я бы использовалif let Err(err) = something()
, но есть ли в коде выше ярлык, который позволит избежать вставки копий веток Err / Ok в этом, я думаю, типичном сценарии? Что-то вродеif let
это также вернуло бы значение ok.