En aquest tema, aprendrem sobre les variables i les funcions en Haskell. Aquestes són les bases de qualsevol llenguatge de programació, i Haskell no és una excepció. Tot i això, Haskell té algunes particularitats que el fan diferent d'altres llenguatges imperatius.
Variables
Declaració de Variables
En Haskell, les variables són immutables, el que significa que una vegada assignat un valor a una variable, aquest valor no pot canviar. Això és diferent dels llenguatges imperatius on les variables poden ser modificades després de la seva assignació inicial.
Tipus de Dades
Haskell és un llenguatge fortament tipat, el que significa que cada variable té un tipus de dada específic. Els tipus de dades bàsics inclouen Int
, Float
, Bool
, Char
, i String
.
-- Exemple de tipus de dades a :: Int a = 10 b :: Float b = 20.5 c :: Bool c = True d :: Char d = 'H' e :: String e = "Haskell"
Funcions
Definició de Funcions
Les funcions són una part fonamental de Haskell. Una funció en Haskell es defineix amb un nom, una llista de paràmetres i un cos de funció.
Tipus de Funcions
Les funcions en Haskell també tenen tipus. El tipus d'una funció es defineix amb el tipus dels seus paràmetres i el tipus del seu resultat.
Aplicació de Funcions
Per aplicar una funció, simplement es crida amb els seus arguments.
Funcions Anònimes (Lambda)
Les funcions anònimes, o expressions lambda, són funcions que no tenen nom. Són útils per a funcions petites que s'utilitzen una sola vegada.
-- Exemple de funció anònima lambdaSuma = \x y -> x + y resultatLambda = lambdaSuma 3 4 -- resultatLambda serà 7
Exercicis Pràctics
Exercici 1: Definir Variables
Defineix les següents variables amb els seus respectius tipus i valors:
- Una variable
n
de tipusInt
amb el valor 42. - Una variable
pi
de tipusFloat
amb el valor 3.14. - Una variable
nom
de tipusString
amb el valor "Haskell".
Solució Exercici 1
Exercici 2: Definir Funcions
Defineix les següents funcions:
- Una funció
multiplica
que prengui dosInt
i retorni el seu producte. - Una funció
esPar
que prengui unInt
i retorniTrue
si és parell iFalse
si és senar.
Solució Exercici 2
multiplica :: Int -> Int -> Int multiplica x y = x * y esPar :: Int -> Bool esPar x = x `mod` 2 == 0
Resum
En aquesta secció, hem après sobre les variables i les funcions en Haskell. Hem vist com declarar variables, definir funcions i aplicar-les. També hem explorat les funcions anònimes o expressions lambda. Aquests conceptes són fonamentals per a la programació en Haskell i ens preparen per a temes més avançats.
En el següent tema, explorarem els tipus de dades bàsics en Haskell.