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. 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].
  2. 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].
  3. 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.
  4. 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.
  5. 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.
  6. 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.