Sonuç türü - Result type

İçinde fonksiyonel programlama, bir sonuç türü bir Monadik tip döndürülen bir değeri veya bir hata kodunu tutan. İstisnai işlemeye başvurmadan hataları ele almak için zarif bir yol sağlarlar; Başarısız olabilecek bir işlev bir sonuç türü döndürdüğünde, programcı beklenen sonuca erişmeden önce başarı veya başarısızlık yollarını düşünmeye zorlanır; bu, hatalı bir programcı varsayımı olasılığını ortadan kaldırır.

Örnekler

  • İçinde Karaağaç standart kitaplık tarafından şu şekilde tanımlanır: tip Sonuç e v = Tamam mı v | Err e.[1]
  • İçinde Haskell, geleneksel olarak Ya tip, bu amaç için kullanılır ve standart kitaplık tarafından şu şekilde tanımlanır: veri Ya a b = Ayrıldı a | Sağ b.[2]
  • İçinde OCaml standart kitaplık tarafından şu şekilde tanımlanır: tip ('a, 'b) sonuç = Tamam mı nın-nin 'a | Hata nın-nin 'b tip.[3]
  • İçinde Pas, paslanma standart kitaplık tarafından şu şekilde tanımlanır: Sıralama Sonuç<T,E>{Tamam mı(T),Err(E)}.[4]
  • İçinde Scala standart kitaplık ayrıca bir Ya tip[5]Ancak Scala'da daha geleneksel istisna işleme.
  • İçinde Swift standart kitaplık tarafından şu şekilde tanımlanır: @dondurulmuş Sıralama Sonuç<Başarı, Başarısızlık> nerede Başarısızlık : Hata.[6]

Ayrıca bakınız

Referanslar

  1. ^ "Sonuç · Elm'e Giriş". guide.elm-lang.org.
  2. ^ "Veri. Her ikisi". hackage.haskell.org.
  3. ^ "Hata İşleme - OCaml". ocaml.org.
  4. ^ "std :: sonuç - Pas". doc.rust-lang.org.
  5. ^ "Scala Standart Kitaplığı 2.13.3 - scala.util.Either". www.scala-lang.org. Alındı 9 Ekim 2020.
  6. ^ "Apple Geliştirici Belgeleri". developer.apple.com.