En aquest tema, explorarem els tipus de dades bàsics en Haskell. Els tipus de dades són fonamentals per a qualsevol llenguatge de programació, ja que defineixen la naturalesa de les dades que es poden manipular. Haskell, com a llenguatge de programació funcional, té un sistema de tipus molt ric i potent.
Contingut
Tipus de Dades Primitius
Els tipus de dades primitius són els tipus de dades més bàsics i fonamentals en Haskell. Aquests inclouen:
- Enter (Int, Integer)
- Coma flotant (Float, Double)
- Caràcter (Char)
- Cadena de caràcters (String)
- Booleà (Bool)
Enter (Int, Integer)
- Int: Un enter de mida fixa. La mida depèn de la implementació, però sovint és de 32 o 64 bits.
- Integer: Un enter de mida arbitrària. Pot emmagatzemar nombres molt grans, però és menys eficient que
Int
.
Coma flotant (Float, Double)
- Float: Un nombre de coma flotant de precisió simple.
- Double: Un nombre de coma flotant de precisió doble.
Caràcter (Char)
- Char: Representa un únic caràcter Unicode.
Cadena de caràcters (String)
- String: Una llista de caràcters (
[Char]
).
Booleà (Bool)
- Bool: Pot ser
True
oFalse
.
Tipus de Dades Compostos
Els tipus de dades compostos permeten agrupar múltiples valors en una sola estructura. Els més comuns són:
- Tuples
- Llistes
Tuples
Les tuples permeten agrupar múltiples valors de diferents tipus en una sola unitat.
Llistes
Les llistes són col·leccions de valors del mateix tipus.
Conversió de Tipus
En Haskell, és possible convertir entre diferents tipus de dades utilitzant funcions de conversió.
Exemple de Conversió
-- Convertir un Int a un Float intToFloat :: Int -> Float intToFloat x = fromIntegral x -- Convertir un Float a un String floatToString :: Float -> String floatToString x = show x
Exercicis Pràctics
Exercici 1: Definir Variables
Defineix variables dels següents tipus: Int
, Float
, Char
, String
, Bool
.
-- Solució myInt :: Int myInt = 10 myFloat :: Float myFloat = 3.14 myChar :: Char myChar = 'H' myString :: String myString = "Haskell" myBool :: Bool myBool = False
Exercici 2: Treballar amb Tuples
Defineix una tuple que contingui un Int
, un String
i un Bool
. Després, escriu una funció que retorni el segon element de la tuple.
-- Solució myTuple :: (Int, String, Bool) myTuple = (1, "Hello", True) secondElement :: (Int, String, Bool) -> String secondElement (_, y, _) = y
Exercici 3: Treballar amb Llistes
Defineix una llista de Int
i escriu una funció que retorni la suma de tots els elements de la llista.
Conclusió
En aquesta secció, hem après sobre els tipus de dades bàsics en Haskell, incloent-hi els tipus primitius i compostos. També hem vist com convertir entre diferents tipus de dades i hem practicat amb alguns exercicis. Aquests conceptes són fonamentals per a la programació en Haskell i ens preparen per a temes més avançats.