Typ výsledku - Result type
![]() | tento článek ne uvést žádný Zdroje.Červen 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v Funkcionální programování, a typ výsledku je Monadický typ uchovávání vrácené hodnoty nebo chybového kódu. Poskytují elegantní způsob zpracování chyb, aniž by se uchýlily ke zpracování výjimek; když funkce, která může selhat, vrátí typ výsledku, je programátor nucen zvážit cesty úspěchu nebo selhání, než získá přístup k očekávanému výsledku; to vylučuje možnost chybného předpokladu programátora.
Příklady
- v Jilm, je standardní knihovnou definována jako
typ Výsledek E proti = OK proti | Chybovat E
.[1] - v Haskell podle úmluvy
Buď
pro tento účel se používá typ, který je standardní knihovnou definován jakodata Buď A b = Vlevo, odjet A | Že jo b
.[2] - v OCaml, je standardní knihovnou definována jako
typ ('A, 'b) výsledek = OK z 'A | Chyba z 'b typ
.[3] - v Rez, je standardní knihovnou definována jako
výčet Výsledek<T,E>{OK(T),Chybovat(E)
}.[4] - v Scala, standardní knihovna také definuje
Buď
typ[5], ale Scala má také konvenčnější zpracování výjimek. - v Rychlý, je standardní knihovnou definována jako
@zamrzlý výčet Výsledek<Úspěch, Selhání> kde Selhání : Chyba
.[6]
Viz také
Reference
- ^ „Výsledek · Úvod do jilmu“. guide.elm-lang.org.
- ^ "Data. Buď". hackage.haskell.org.
- ^ „Zpracování chyb - OCaml“. ocaml.org.
- ^ "std :: result - Rust". doc.rust-lang.org.
- ^ "Scala Standard Library 2.13.3 - scala.util.Either". www.scala-lang.org. Citováno 9. října 2020.
- ^ „Dokumentace pro vývojáře Apple“. developer.apple.com.