En aquest tema, aprendrem sobre les variables i els tipus de dades en Lua. Les variables són fonamentals en qualsevol llenguatge de programació, ja que ens permeten emmagatzemar i manipular dades. Lua és un llenguatge dinàmicament tipat, el que significa que no cal declarar el tipus de dada d'una variable explícitament.
Continguts
Declaració de Variables
En Lua, les variables es poden declarar simplement assignant-los un valor. No cal especificar el tipus de dada.
Variables Locals i Globals
- Variables locals: Són accessibles només dins del bloc de codi on es declaren. Es declaren amb la paraula clau
local. - Variables globals: Són accessibles des de qualsevol part del programa. Es declaren sense la paraula clau
local.
Tipus de Dades
Lua té diversos tipus de dades bàsics:
- nil: Representa una absència de valor.
- number: Representa números (enters i de punt flotant).
- string: Representa cadenes de text.
- boolean: Representa valors lògics (true o false).
- table: Representa estructures de dades complexes.
- function: Representa funcions.
- userdata: Representa dades definides per l'usuari.
- thread: Representa fils d'execució independents.
Exemples de Tipus de Dades
-- nil
local a = nil
-- number
local b = 42
local c = 3.14
-- string
local d = "Hola, món!"
-- boolean
local e = true
local f = false
-- table
local g = {1, 2, 3, "quatre"}
-- function
local h = function() print("Això és una funció") endConversió de Tipus
Lua permet convertir entre diferents tipus de dades utilitzant funcions de conversió.
Funcions de Conversió
- tonumber(): Converteix una cadena o un altre tipus de dada a un número.
- tostring(): Converteix un número o un altre tipus de dada a una cadena.
local num = "123" local converted_num = tonumber(num) -- Converteix la cadena a número local str = 456 local converted_str = tostring(str) -- Converteix el número a cadena
Exemples Pràctics
Exemple 1: Variables i Tipus de Dades
-- Declaració de variables
local name = "Lua"
local version = 5.4
local is_dynamic = true
-- Imprimir valors
print("Llenguatge: " .. name)
print("Versió: " .. version)
print("És dinàmic: " .. tostring(is_dynamic))Exemple 2: Conversió de Tipus
-- Conversió de cadena a número
local str_num = "100"
local num = tonumber(str_num)
print(num + 50) -- Sortida: 150
-- Conversió de número a cadena
local number = 200
local str = tostring(number)
print("El número és: " .. str) -- Sortida: El número és: 200Exercicis
Exercici 1: Declaració de Variables
Declara tres variables: una cadena, un número i un valor booleà. Imprimeix els seus valors.
Exercici 2: Conversió de Tipus
Converteix una cadena que conté un número a un tipus de dada numèric i suma-li 10. Després, converteix el resultat a una cadena i imprimeix-lo.
Exercici 3: Taula de Tipus de Dades
Crea una taula que contingui diferents tipus de dades (cadena, número, booleà). Imprimeix cada element de la taula.
Solucions
Solució 1: Declaració de Variables
local cadena = "Aprenent Lua" local numero = 2023 local boolea = false print(cadena) print(numero) print(boolea)
Solució 2: Conversió de Tipus
local str_num = "30"
local num = tonumber(str_num)
local resultat = num + 10
local str_resultat = tostring(resultat)
print("El resultat és: " .. str_resultat) -- Sortida: El resultat és: 40Solució 3: Taula de Tipus de Dades
Conclusió
En aquesta secció, hem après com declarar variables i els diferents tipus de dades disponibles en Lua. També hem vist com convertir entre diferents tipus de dades i hem practicat amb alguns exemples i exercicis. Ara estem preparats per avançar cap als operadors en Lua.
Curs de Programació en Lua
Mòdul 1: Introducció a Lua
Mòdul 2: Conceptes Bàsics
Mòdul 3: Conceptes Intermedis
Mòdul 4: Conceptes Avançats
- Coroutines
- Programació Orientada a Objectes en Lua
- Tècniques de Depuració
- Optimització del Rendiment
- Ús de l'API C de Lua
Mòdul 5: Aplicacions Pràctiques
- Construcció d'un Joc Simple
- Scripting en Motors de Joc
- Automatització de Tasques amb Lua
- Integració de Lua amb Altres Llenguatges
