Il mondo là fuori
Chiamare codice Erlang con @external, trasformare dati senza tipo in valori Gleam con i decoder, leggere e scrivere JSON e file, ricevere argomenti dalla riga di comando, e dare una forma a un programma vero.
6 lezioni · circa 145 minuti di lettura · livello avanzato
0/6
Alla fine saprai
- Usare funzioni Erlang da Gleam con @external, e capire perché il compilatore deve fidarsi
- Controllare dati di tipo sconosciuto con gleam/dynamic/decode
- Leggere e scrivere JSON con gleam_json, e file con simplifile
- Organizzare un programma in più moduli e cartelle, e usarlo dalla riga di comando
- 1 Parlare con Erlang 20 min Usare da Gleam le funzioni scritte in Erlang. L'attributo @external, le annotazioni di tipo obbligatorie, un compilatore che deve fidarsi di te, i tipi esterni, e un file Erlang tutto tuo. 20 min
- 2 Dati senza tipo 25 min Quando i dati arrivano da fuori, il compilatore non sa cosa contengono. Il tipo Dynamic, i decoder di gleam/dynamic/decode, i record decodificati campo per campo, e gli errori che dicono dove guardare. 25 min
- 3 JSON 25 min Il formato con cui si scambiano dati quasi tutti i programmi del mondo. Il pacchetto gleam_json, leggere JSON con i decoder, gli errori di sintassi e di forma, null e Option, e scrivere JSON a partire dai tuoi tipi. 25 min
- 4 File e riga di comando 25 min Un programma che ricorda le cose tra un'esecuzione e l'altra, e che riceve istruzioni quando lo lanci. Leggere e scrivere file con simplifile, salvare JSON su disco, e gli argomenti della riga di comando con argv. 25 min
- 5 Dare forma a un programma 20 min Dal progetto degli esercizi a un programma vero. Il modulo principale, le cartelle e i nomi dei moduli, quanti moduli scrivere, i moduli interni, la documentazione con gleam docs build, e un eseguibile da consegnare con gleam export escript. 20 min
- 6 Riepilogo e sfida finale 30 min Funzioni esterne, decoder, JSON, file e argomenti in una pagina, tre domande di controllo, e uno scaffale di libri da riga di comando che ricorda tutto tra un'esecuzione e l'altra. 30 min