Les taules són una de les estructures de dades més potents i flexibles en Lua. Són utilitzades per emmagatzemar arrays, diccionaris, llistes, i fins i tot objectes. En aquest tema, aprendrem què són les taules, com crear-les, accedir-hi, modificar-les i utilitzar-les en diferents contextos.

Què és una Taula?

Una taula en Lua és una estructura de dades que pot emmagatzemar valors de qualsevol tipus, incloent altres taules. Les taules són dinàmiques, és a dir, poden canviar de mida durant l'execució del programa.

Creació de Taules

Per crear una taula en Lua, simplement utilitzem les claus {}. Aquí teniu alguns exemples:

-- Taula buida
local taula_buida = {}

-- Taula amb valors inicials
local taula_valors = {1, 2, 3, 4, 5}

-- Taula amb claus i valors
local taula_claus_valors = {
    nom = "Joan",
    edat = 30,
    professió = "Enginyer"
}

Accés a Elements de la Taula

Podem accedir als elements d'una taula utilitzant claus. Les claus poden ser números o cadenes de text.

local taula = {10, 20, 30, 40, 50}

-- Accés per índex numèric
print(taula[1])  -- Sortida: 10
print(taula[3])  -- Sortida: 30

local persona = {
    nom = "Anna",
    edat = 25,
    professió = "Dissenyadora"
}

-- Accés per clau de cadena
print(persona["nom"])  -- Sortida: Anna
print(persona.edat)    -- Sortida: 25

Modificació de Taules

Podem afegir, modificar o eliminar elements d'una taula de manera molt senzilla.

local taula = {1, 2, 3}

-- Afegir un nou element
taula[4] = 4
print(taula[4])  -- Sortida: 4

-- Modificar un element existent
taula[2] = 20
print(taula[2])  -- Sortida: 20

-- Eliminar un element
taula[3] = nil
print(taula[3])  -- Sortida: nil

Iteració sobre Taules

Podem utilitzar bucles per iterar sobre els elements d'una taula. Lua proporciona diverses maneres de fer-ho.

for numèric

local taula = {10, 20, 30, 40, 50}

for i = 1, #taula do
    print(taula[i])
end

pairs i ipairs

local taula = {10, 20, 30, 40, 50}

-- Utilitzant ipairs per iterar sobre arrays
for i, v in ipairs(taula) do
    print(i, v)
end

local persona = {
    nom = "Anna",
    edat = 25,
    professió = "Dissenyadora"
}

-- Utilitzant pairs per iterar sobre taules amb claus de cadena
for k, v in pairs(persona) do
    print(k, v)
end

Exercicis Pràctics

Exercici 1: Creació i Accés a Taules

  1. Crea una taula anomenada cotxes amb els següents elements: "Toyota", "Honda", "Ford".
  2. Afegeix un nou cotxe "Chevrolet" a la taula.
  3. Modifica el segon element de la taula per "Hyundai".
  4. Elimina el tercer element de la taula.
  5. Itera sobre la taula i imprimeix tots els elements.

Solució

local cotxes = {"Toyota", "Honda", "Ford"}

-- Afegir un nou cotxe
cotxes[4] = "Chevrolet"

-- Modificar el segon element
cotxes[2] = "Hyundai"

-- Eliminar el tercer element
cotxes[3] = nil

-- Iterar sobre la taula
for i, v in ipairs(cotxes) do
    print(v)
end

Exercici 2: Taules amb Claus de Cadena

  1. Crea una taula anomenada llibre amb les següents claus i valors: títol = "El Senyor dels Anells", autor = "J.R.R. Tolkien", any = 1954.
  2. Afegeix una nova clau gènere amb el valor "Fantasia".
  3. Modifica el valor de la clau any a 1955.
  4. Elimina la clau gènere.
  5. Itera sobre la taula i imprimeix totes les claus i valors.

Solució

local llibre = {
    títol = "El Senyor dels Anells",
    autor = "J.R.R. Tolkien",
    any = 1954
}

-- Afegir una nova clau
llibre.gènere = "Fantasia"

-- Modificar el valor de la clau any
llibre.any = 1955

-- Eliminar la clau gènere
llibre.gènere = nil

-- Iterar sobre la taula
for k, v in pairs(llibre) do
    print(k, v)
end

Conclusió

Les taules són una eina fonamental en Lua que permeten emmagatzemar i gestionar dades de manera flexible i eficient. Hem après a crear taules, accedir-hi, modificar-les i iterar sobre els seus elements. Amb aquests coneixements, estem preparats per explorar conceptes més avançats com les metataules i els metamètodes en el següent tema.

© Copyright 2024. Tots els drets reservats