Menu
Coddy logo textTech

Tabelle con funzioni

Fa parte della sezione Programmazione orientata agli oggetti del percorso Lua di Coddy. Lezione 1 di 70.

In Lua, le tabelle sono incredibilmente versatili. Oltre a memorizzare dati, possono contenere anche funzioni. Questo ti permette di raggruppare operazioni correlate, mantenendo il tuo codice organizzato e facile da gestire.

Per inserire una funzione in una tabella, ti basta assegnarla a una chiave proprio come qualsiasi altro valore:

local myTable = {
    greet = function(name)
        return "Hello, " .. name
    end
}

print(myTable.greet("Alice"))  -- Output: Hello, Alice

Puoi anche definire la funzione separatamente e poi aggiungerla alla tabella:

local myTable = {}

myTable.greet = function(name)
    return "Hello, " .. name
end

Oppure usa questa sintassi abbreviata più pulita:

local myTable = {}

function myTable.greet(name)
    return "Hello, " .. name
end

Tutti e tre gli approcci producono lo stesso risultato. Chiami la funzione usando la notazione con il punto: myTable.greet("Alice"). Questo schema che raggruppa le funzioni con i dati è il fondamento della programmazione orientata agli oggetti in Lua.

challenge icon

Sfida

Facile

Crea una tabella chiamata calculator che contenga quattro funzioni aritmetiche:

  • add(a, b) - restituisce la somma di a e b
  • subtract(a, b) - restituisce a meno b
  • multiply(a, b) - restituisce il prodotto di a e b
  • divide(a, b) - restituisce a diviso per b

Riceverai tre input:

  1. Il nome di un'operazione (una tra: add, subtract, multiply, divide)
  2. Primo numero
  3. Secondo numero

Chiama la funzione appropriata della tabella calculator in base al nome dell'operazione e stampa il risultato.

Provalo tu

-- Leggi gli input
local operation = io.read()
local num1 = tonumber(io.read())
local num2 = tonumber(io.read())

-- TODO: Crea una tabella calculator con quattro funzioni:
-- add(a, b), subtract(a, b), multiply(a, b), divide(a, b)


-- TODO: Chiama la funzione appropriata dalla tabella calculator usando il nome dell'operazione
-- e stampa il risultato
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Lua online