title: Generatore (informatica)
text: # Generatore (informatica)
  
  In informatica, un generatore è una speciale routine che può essere usata per il controllo del comportamento di un'iterazione in un loop. Un generatore è molto simile a una funzione che restituisce un vettore, nel quale un generatore ha i parametri, che possono essere chiamati, e genera una sequenza di valori.
  
  Invece di costruire un vettore contenente tutti i valori e restituirli in una volta, un generatore fornisce i valori uno alla volta, il che richiede meno memoria e permette così al chiamante di iniziare a elaborare i primi valori immediatamente. In breve, un generatore assomiglia a una funzione ma si comporta come un iteratore.
  
  I generatori possono essere implementati in costrutti di controllo di flusso più espressivi, come continuazione di oggetti di prima classe (first class object) o come co-funzioni.
  
  I generatori appaiono per la prima volta nel 1975 nel CLU; ora sono disponibili in Python, C#, JavaScript, Ruby e altri linguaggi. In CLU e C#, i generatori vengono chiamati iteratori e in Ruby enumeratori.
  
  ## Python
  
  Un esempio di generatore in Python:
  
  ## Ruby
  
  Ruby supporta i generatori (a partire dalla versione 1.9) sotto forma di classe Enumeratore.
  
  