Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: FranN00B en 9 Octubre 2016, 23:33 pm



Título: Problema con Haskell
Publicado por: FranN00B en 9 Octubre 2016, 23:33 pm
Mi profesora de informática no nos deja usar if, a no ser que no haya otra forma de hacer un ejercicio.
Nos explicó otra forma, pero nadie se enteró (creo que era algo de not). ¿Cómo se podría hacer este ejercicio de otra forma?

Haz una función que analice si dos números son divisibles.
Solución (con if, no válida):

divisible x y = if (x `mod` y) == 0
then "son divisibles"
else "no son divisibles"

¡Gracias de antemano!


Título: Re: Problema con Haskell
Publicado por: El Benjo en 10 Octubre 2016, 05:58 am
Tienes que hacerlo mediante algo llamado guardas.

Te dejo un enlace a un curso de haskell en línea donde se explica esto.

http://aprendehaskell.es/content/Funciones.html (http://aprendehaskell.es/content/Funciones.html)


Título: Re: Problema con Haskell
Publicado por: Stoya en 10 Octubre 2016, 23:45 pm
No hace falta que uses guardas.

Código:
main = print $ map (uncurry divisible) [(16, 2), (23, 3), (21, 3), (29, 7)]

divisible a b = 0 == a `mod` b