Iterare con ipairs()
Fa parte della sezione Logica e flusso del percorso Lua di Coddy. Lezione 2 di 54.
Sebbene pairs() funzioni con qualsiasi struttura di tabella, Lua fornisce una funzione specializzata chiamata ipairs(), progettata specificamente per le tabelle in stile lista. Questa funzione scorre le tabelle in ordine sequenziale, iniziando dall’indice 1 e proseguendo fino a incontrare un valore nil.
La sintassi di ipairs() è simile a quella di pairs():
for index, value in ipairs(myList) do
-- usa index e value qui
endEcco un esempio con un elenco di oggetti della missione:
local questItems = {"Map", "Compass", "Torch", "Rope"}
for i, item in ipairs(questItems) do
print(i .. ". " .. item)
endOutput:
1. Map
2. Compass
3. Torch
4. RopeLa differenza principale rispetto a pairs() è che ipairs() si interrompe immediatamente quando trova un valore nil, anche se ci sono altri elementi dopo di esso.
Sfida
FacileScrivi una funzione listTasks che accetta una tabella tasks e restituisce una stringa formattata che elenca tutte le attività con i rispettivi numeri di posizione.
Usa ipairs() per iterare sulle attività in ordine sequenziale e creare una stringa in cui ogni riga mostra il numero dell'attività seguito dal nome dell'attività nel formato number. task. Ogni attività deve trovarsi su una riga separata.
Parametri:
tasks(table): Una tabella in stile lista contenente i nomi delle attività come stringhe
Restituisce: Una stringa con ogni attività numerata su una riga separata. Formato:
1. task1
2. task2
3. task3Provalo tu
function listTasks(tasks)
-- Scrivi il codice qui
end
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
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ù altiEsercitati da solo: Compilatore Lua online