Resumen - Matemática de vectores
Parte de la sección Logic & Flow del Journey de Lua de Coddy — lección 54 de 54.
Desafío
FácilEscribe una función createVector que tome las coordenadas x e y y devuelva una cadena que demuestre operaciones con vectores.
Crea un constructor de vectores que construya una tabla con los campos x e y, y luego adjunte una metatabla que implemente __add para la suma de vectores y __tostring para una representación de cadena personalizada. La función debe crear dos vectores utilizando las coordenadas proporcionadas, sumarlos y devolver la representación en cadena del resultado.
Lógica:
- Crea una función constructora que construya una tabla de vector con los campos x e y
- Define una metatabla con
__addque sume los componentes x e y correspondientes - Define
__tostringpara devolver el formatoVector(x, y) - Adjunta la metatabla al vector usando
setmetatable() - Crea el primer vector con las coordenadas (x, y)
- Crea el segundo vector con las coordenadas (x, y)
- Suma los dos vectores usando el operador
+ - Devuelve la representación en cadena del vector resultante usando
tostring()
Parámetros:
x(número): La coordenada x para ambos vectoresy(número): La coordenada y para ambos vectores
Devuelve: La representación en cadena de la suma de dos vectores (string). Formato: Vector(6, 8) para la entrada (3, 4)
Pruébalo tú mismo
function createVector(x, y)
-- Escribe el código aquí
end
Todas las lecciones de Logic & Flow
1Iteración avanzada de tablas
Iterar con pairs()Iterar con ipairs()pairs() vs. ipairs()Resumen - Ficha de personaje2Más funciones de la librería table
table.concat()Construcción de tablas y unpack()table.sort()Ordenamiento personalizado con funcionesRepaso - Tabla de puntuaciones altas3Conceptos avanzados de funciones
Retorno de múltiples valoresFunciones variádicas (...)Funciones como valores de primera claseFunciones anónimas¿Qué es un Closure?Resumen - Manejador de eventos simple9Corrutinas para principiantes
¿Qué es una corrutina?coroutine create y resumePausar con coroutine.yield()resume y yieldComprobar el estado de la corrutinaResumen - Generador de númerosResumen - Matemática de vectores