Kolejnym wbudowanym generycznym typem wyliczeniowym w Ruscie jest Result
(ang. rezultat, wynik). Result
pozwala nam zwracać wartość w sposób który bierze pod uwagę możliwość wystąpienia błędu.
Korzystanie z Result
jest idiomatycznym (tj. przyjętym za najlepszą praktykę) sposobem obsługi błędów w Ruscie.
enum Result<T, E> {
Ok(T),
Err(E),
}
Zauważ, że nasz typ generyczny ma tutaj kilka parametryzowanych typów oddzielonych przecinkiem.
Tak jak w przypadu Option
, typ Result
jest na tyle powszechny, że jest dostępny na poziomie języka, więc możemy go używać gdziekolwiek bez konieczności importowania czegokolwiek - wystarczy wywołać jego warianty Ok
lub Err
.