Тип результата - Result type

В функциональное программирование, а тип результата это Монадический тип содержащий возвращаемое значение или код ошибки. Они предоставляют элегантный способ обработки ошибок, не прибегая к обработке исключений; когда функция, которая может дать сбой, возвращает тип результата, программист вынужден учитывать пути успеха или неудачи, прежде чем получить доступ к ожидаемому результату; это исключает возможность ошибочного предположения программиста.

Примеры

  • В Вяз, он определяется стандартной библиотекой как тип Результат е v = Ok v | Err е.[1]
  • В Haskell по соглашению Либо для этой цели используется тип, который в стандартной библиотеке определяется как данные Либо а б = Оставили а | Правильно б.[2]
  • В OCaml, он определяется стандартной библиотекой как тип ('а, 'б) результат = Ok из 'а | Ошибка из 'б тип.[3]
  • В Ржавчина, он определяется стандартной библиотекой как перечислить Результат<Т,E>{Ok(Т),Err(E)}.[4]
  • В Scala, стандартная библиотека также определяет Либо тип[5], однако в Scala есть и более традиционные Обработка исключений.
  • В Быстрый, он определяется стандартной библиотекой как @замороженный перечислить Результат<Успех, Отказ> куда Отказ : Ошибка.[6]

Смотрите также

Рекомендации

  1. ^ «Результат · Знакомство с вязом». guide.elm-lang.org.
  2. ^ "Данные.Либо". hackage.haskell.org.
  3. ^ «Обработка ошибок - OCaml». ocaml.org.
  4. ^ "std :: result - Rust". doc.rust-lang.org.
  5. ^ "Стандартная библиотека Scala 2.13.3 - scala.util.Either". www.scala-lang.org. Получено 9 октября 2020.
  6. ^ «Документация для разработчиков Apple». developer.apple.com.