Re[16]: Result objects - все-таки победили Exceptions?
От: T4r4sB Россия  
Дата: 13.01.25 18:52
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>
S>function foo()
S>{
S>   let x = bar();
S>   if(!isNumber(x)) return x;
S>   let y = baz();
S>   if(!isNumber(y)) return y;
S>   return x+y;
S>}
S>

S>Не знаю, насколько ужасно аналог такого кода будет выглядеть на Расте.

А что такое x, y для начала? Тогда я смогу описать этот код на Расте.
В самом простом случае код такой:
fn bar() -> Result<i32, BarError> { ... }
fn baz() -> Result<i32, BazError> { ... }

fn foo() -> Result<i32, Box<dyn Error>> { 
  Ok(bar()? + foo()?)
}
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.