Menu
CoddyTech

Valori truthy e falsy

Fa parte della sezione Fondamenti del percorso Lua di Coddy. Lezione 24 di 90.

Quando si usano operatori logici come and, or e not, Lua deve determinare cosa viene considerato "vero" o "falso" nei contesti logici. Questo concetto è chiamato valori truthy e falsy e Lua lo gestisce diversamente da molti altri linguaggi di programmazione.

In Lua, solo due valori sono considerati falsy (trattati come false nelle operazioni logiche):

print(false and "This won't print")  -- false è un valore falsy
print(nil and "This won't print")    -- nil è un valore falsy

Nota che and e or restituiscono uno dei loro operandi, non solo true o false: a and b restituisce a quando a è falsy, altrimenti b; a or b restituisce a quando a è truthy, altrimenti b. Quindi le due righe sopra stampano false e nil, e ciascuna delle righe qui sotto stampa il suo testo.

Tutto il resto in Lua è considerato truthy (trattato come true nelle operazioni logiche). Questo include valori che potrebbero sorprenderti se provieni da altri linguaggi:

print(0 and "This will print")      -- 0 è considerato vero in Lua!
print("" and "This will print")     -- Una stringa vuota è considerata vera!
print({} and "This will print")     -- Una tabella vuota è considerata vera!

Provalo tu

Questa lezione non include una sfida di codice.

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 Fondamenti

Esercitati da solo: Compilatore Lua online