Riepilogo - Matematica vettoriale
Fa parte della sezione Logica e flusso del percorso Lua di Coddy. Lezione 54 di 54.
Sfida
FacileScrivi una funzione createVector che accetta le coordinate x e y e restituisce una stringa che mostra le operazioni sui vettori.
Crea un costruttore di vettori che crea una tabella con i campi x e y, quindi vi associa una metatabella che implementa __add per l’addizione dei vettori e __tostring per una rappresentazione personalizzata sotto forma di stringa. La funzione deve creare due vettori usando le coordinate fornite, sommarli e restituire la rappresentazione sotto forma di stringa del risultato.
Logica:
- Crea una funzione costruttrice che crea una tabella vettore con i campi x e y
- Definisci una metatabella con
__addche somma le componenti x e y corrispondenti - Definisci
__tostringper restituire il formatoVector(x, y) - Associa la metatabella al vettore usando
setmetatable() - Crea il primo vettore con le coordinate (x, y)
- Crea il secondo vettore con le coordinate (x, y)
- Somma i due vettori usando l’operatore
+ - Restituisci la rappresentazione sotto forma di stringa del vettore risultante usando
tostring()
Parametri:
x(numero): la coordinata x per entrambi i vettoriy(numero): la coordinata y per entrambi i vettori
Restituisce: la rappresentazione sotto forma di stringa della somma di due vettori (stringa). Formato: Vector(6, 8) per l’input (3, 4)
Provalo tu
function createVector(x, y)
-- Scrivi il codice qui
end
Tutte le lezioni di Logica e flusso
1Iterazione avanzata delle tabelle
Iterare con pairs()Iterare con ipairs()pairs() vs. ipairs()Riepilogo - Scheda del personaggio2Altre funzioni della libreria table
table.concat()Costruzione di tabelle e unpack()table.sort()Ordinamento personalizzato con funzioniRiepilogo - Tabellone dei punteggi più alti3Concetti avanzati sulle funzioni
Restituire più valoriFunzioni variadiche (...)Funzioni come valori di prima classeFunzioni anonimeChe cos'è una closure?Riepilogo - Gestore di eventi semplice9Le coroutine per principianti
Che cos'è una coroutine?Creare e riprendere una coroutineMettere in pausa con coroutine.yield()Riprendere e sospendereVerificare lo stato della coroutineRiepilogo - Generatore di numeriRiepilogo - Matematica vettorialeEsercitati da solo: Compilatore Lua online