Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Funzionalità dei Linguaggi Funzionali: Iteratori e Chiusure

Il design di Rust si è ispirato a molti linguaggi e tecniche esistenti, e un’influenza significativa è la programmazione funzionale. La programmazione in stile funzionale spesso include l’utilizzo di funzioni come valori, passandole come argomenti, restituendole da altre funzioni, assegnandole a variabili per l’esecuzione successiva e così via.

In questo capitolo, non discuteremo la questione di cosa sia o non sia la programmazione funzionale, ma discuteremo invece alcune caratteristiche di Rust simili a caratteristiche di molti linguaggi spesso definiti funzionali.

Più specificamente, tratteremo:

  • Chiusure (Closures), un costrutto simile a una funzione che puoi memorizzare in una variabile
  • Iteratori, un modo per elaborare una serie di elementi
  • Come usare chiusure e iteratori per migliorare il progetto I/O del Capitolo 12
  • Le prestazioni di chiusure e iteratori (spoiler: sono più veloci di quanto possiate pensare!)

Abbiamo già trattato altre funzionalità di Rust, come il pattern matching e le enum, che sono anch’esse influenzate dallo stile funzionale. Poiché padroneggiare chiusure e iteratori è una parte importante della scrittura di codice Rust veloce e idiomatico, gli dedicheremo l’intero capitolo.