Tratamiento de errores

Re: Tratamiento de errores

de Marcos Viera - InCo -
Número de respuestas: 0

Hola, estás bastante acertado con tus interpretaciones.


- fromJust, retorna el dato interno si es un Just y sino se genera un error en tiempo de ejecución. Es una función parcial.

Ejemplos:

Prelude Data.Maybe> fromJust (Just 9)
9
Prelude Data.Maybe> fromJust Nothing
*** Exception: Maybe.fromJust: Nothing


- fromMaybe, es como decís. Ejemplos:

Prelude Data.Maybe> fromMaybe 8 (Just 6)
6
Prelude Data.Maybe> fromMaybe 8 Nothing
8


- maybe, es como vos decís, vendría a ser el "fold de Maybe", dado que sustituye los constructores por las funciones que se pasan. Ejemplos

Prelude Data.Maybe> maybe 0 (+ 2) (Just 4)
6
Prelude Data.Maybe> maybe 0 (+ 2) Nothing
0


saludos