Тип результата

редактировать

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

СОДЕРЖАНИЕ

  • 1 Примеры
    • 1.1 Ржавчина
  • 2 См. Также
  • 3 ссылки

Примеры

  • В Elm он определяется стандартной библиотекой как. type Result e v = Ok v | Err e
  • В Haskell Either для этой цели по соглашению используется тип, который в стандартной библиотеке определяется как. data Either a b = Left a | Right b
  • В OCaml он определяется стандартной библиотекой как. type ('a, 'b) result = Ok of 'a | Error of 'b type
  • В Rust он определяется стандартной библиотекой как }. enum Resultlt;T, Egt; { Ok(T), Err(E)
  • В Scala стандартная библиотека также определяет Either тип, однако Scala также имеет более традиционную обработку исключений.
  • В Swift он определяется стандартной библиотекой как. @frozen enum Resultlt;Success, Failuregt; where Failure: Error

Ржавчина

Объект результата имеет методы is_ok() и is_err().

const CAT_FOUND: bool = true; fn main() {  let result = pet_cat();  if result.is_ok() {   println!("Great, we could pet the cat!");  } else {   println!("Oh no, we couldn't pet the cat!");  } } fn pet_cat() -gt; Resultlt;(), Stringgt; {  if CAT_FOUND {   Ok(())  } else {   Err(String::from("the cat is nowhere to be found"))  } }

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

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

Последняя правка сделана 2023-03-20 03:44:43
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте