Liste
Tanti valori in fila: costruire liste, smontarle con i pattern, percorrerle con la ricorsione, e lasciare il lavoro pesante a map, filter e fold.
6 lezioni · circa 110 minuti di lettura · livello base
0/6
Alla fine saprai
- Creare liste, aggiungere in testa e capire perché non si aggiunge in coda
- Smontare una lista con i pattern [] e [first, ..rest]
- Percorrere una lista con la ricorsione, anche in coda
- Trasformare, filtrare e riassumere liste con map, filter e fold
- 1 Le liste 18 min Tanti valori dello stesso tipo, in fila. Come si scrive una lista, perché si aggiunge in testa e mai in coda, e perché non esiste lista[0]. 18 min
- 2 Pattern sulle liste 16 min Smontare una lista con case. La lista vuota, le liste di lunghezza precisa, e il pattern più importante di tutti, [first, ..rest]. 16 min
- 3 Percorrere una lista 20 min La ricorsione del modulo 2 incontra [first, ..rest]. Sommare, contare, trasformare e scegliere gli elementi di una lista, e costruirne di nuove. 20 min
- 4 map, filter e compagnia 20 min Le ricorsioni della lezione precedente sono già scritte nella libreria standard. Trasformare con list.map, scegliere con list.filter, e mettere tutto in fila nel tubo. 20 min
- 5 Ridurre con fold 18 min Una lista entra, un valore solo esce. list.fold è la ricorsione con accumulatore già scritta, e sa fare quasi tutto. Più index_map per numerare le righe. 18 min
- 6 Riepilogo e sfida finale 18 min Il modulo sulle liste in una pagina, tre domande di controllo, e la macchina del resto riscritta con una lista di monete. 18 min