Differenze tra le versioni di "Continuazione"

1 130 byte aggiunti ,  16 anni fa
nessun oggetto della modifica
m (stumpa)
print a
la continuazione della prima linea è la seconda.
La continuazione s utilizza per "saltare" da una parte del programma all'altra a seconda delle necessità. Funziona in modo analogo al comando goto presente nel [[BASIC]] con la differenza che il comando goto è sconsigliato perché rende la manutenzione del codice difficile mentre la continuazione non rende ardua la modifica del codice quando questo diventa di elevate dimensioni. La continuazione non salta tra linee di codice ma tra stati. Si può vedere il programma come un insieme di stati che evolvono a seconda delle azioni dell'utente e la continuazione consente di saltare tra stati diversi a seconda delle necessità. Utilizza un modello di programmazione simile a quello delle [[Rete di Petri|reti di Petri]]. Un esempio può essere un server web. Supponiamo che un utente debba compilare una serie di form, ogni form viene visto come uno stato e quindi se l'utente si rende conto di aver commesso un errore basta far tornare il programma allo stato corrispondente senza doversi preoccupare di gestire errori o eccezioni dato il ritorno allo stato vecchi cancella tutte le azioni svolte sugli stati successivi impedisce doppi inserimenti nel database del server web.
 
Alcuni linguaggi come [[Ruby]], [[Scheme]] e [[SML/NJ]] permettono di manipolare le continuazioni esplicitamente, il che permette di fare molti giochini divertenti.
 
==Collegamenti esterni==
74 497

contributi