Appendici
Appendice D — Glossario
Le parole che tornano in tutto il libro, spiegate in breve. In corsivo i rimandi ad altre voci.
Ambito (o visibilità). La zona del programma in cui una variabile esiste ed è utilizzabile. Una variabile dichiarata dentro un blocco vive solo lì.
Argomento. Il valore che passi a una funzione quando la chiami. Da non confondere con il parametro, che è il nome con cui la funzione lo riceve.
Blocco. Un gruppo di istruzioni che stanno insieme, aperto da allora o fai e chiuso da fine (o senza aperture, come in ripeti N volte).
Canale. Un «tubo» per scambiare messaggi tra lavori che girano in parallelo: uno invia, l'altro riceve, in ordine.
Chiave. L'etichetta con cui ritrovi un valore in un dizionario.
Chiusura. Una funzione che ricorda le variabili del posto in cui è nata, anche dopo che quel posto ha terminato l'esecuzione.
Classe. Lo stampo da cui si creano gli oggetti: unisce dati (campi, dichiarati con ha) e comportamenti (azioni, con azione).
Comprensione. La forma compatta per costruire una lista calcolando ogni elemento: [n * n per ogni n in 1..5].
Condizione. Un'espressione che vale vero o falso, usata da se e mentre per decidere.
Costante. Un valore con un nome che, una volta dichiarato con costante, non si può più cambiare.
Decimale. Un numero con la virgola, scritto in Leo con il punto (3.14). Soggetto all'imprecisione IEEE-754: per il denaro usa soldi.
Dizionario. Un contenitore di coppie chiave → valore: {"nome": "Ada"}.
Ereditarietà. Il meccanismo per cui una classe (estende un'altra) ne riceve dati e comportamenti, potendone ridefinire alcuni.
Eccezione (errore). Un evento anomalo durante l'esecuzione (ErroreValore, ErroreIndice...), che si può gestire con prova/cattura.
Evento. Qualcosa che accade in un programma a finestre (un clic, l'apertura, un tasto), a cui si reagisce con un gestore quando.
Funzione. Un blocco di codice con un nome, che riceve argomenti e può restituire un valore con restituisci. In Leo è anche un valore.
Impronta. Un codice crittografico (SHA-256) che riassume un dato: cambia del tutto per la minima modifica, ma non permette di risalire al dato. Si calcola con impronta.
Interpolazione. L'inserimento di un valore dentro un testo tramite le graffe: "Ciao {nome}".
Intero. Un numero senza virgola, di dimensione illimitata in Leo.
Intervallo. Una sequenza di numeri da un estremo all'altro, estremi compresi: 1..5. Tra le quadre indica una fetta.
Interprete. Il programma che legge ed esegue il tuo codice. Quello di Leo è costruito su Python.
Lavoro. Un'unità di calcolo avviata in parallelo, isolata dagli altri.
Lista. Una sequenza ordinata di valori, numerati da 0: [1, 2, 3]. Si può modificare.
Metodo. Una funzione che appartiene a un valore e si chiama con il punto: testo.maiuscolo(), lista.aggiungi(x).
Modulo. Un file .leo importato in un altro con importa, per dividere il programma.
Oggetto. Un singolo esemplare creato da una classe, con i propri dati.
Parametro. Il nome con cui una funzione riceve un argomento.
Parola chiave. Una parola riservata del linguaggio (se, mentre, funzione...), che non si può usare come nome.
REPL. L'ambiente interattivo (leo senza file) in cui provi il codice una riga alla volta.
Ricorsione. Una funzione che chiama sé stessa; richiede sempre un caso base che la fermi.
Sequenza pigra. Una sequenza che produce i suoi elementi uno alla volta, solo quando servono: può essere anche infinita (numeri_infiniti).
Sinonimo. Una parola che Leo interpreta come una parola chiave (per esempio finché per mentre, azione per funzione).
Slicing (fetta). Prendere un pezzo di una lista o di un testo con un intervallo: voti[0..2].
Soldi. Il tipo per il denaro, che tiene i centesimi esatti: soldi("1.50").
Testo (stringa). Una sequenza di caratteri tra virgolette: "ciao". Non si modifica.
Tipo. La natura di un valore: intero, decimale, testo, logico, lista, dizionario, funzione, e altri. Leo è a tipizzazione forte: non mescola i tipi di nascosto.
Variabile. Un nome a cui è associato un valore, che può cambiare. Si dichiara con variabile.