Cs.

Strutture di controllo del flusso in stile di passaggio di continuazione
Scarica ora

Cs. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • Perl Artistic License
  • Prezzo:
  • FREE
  • Nome editore:
  • Paul Evans
  • Sito web dell'editore:
  • http://search.cpan.org/~pevans/

Cs. Tag


Cs. Descrizione

Strutture di controllo del flusso in stile di continuità Le funzioni nel modulo CPS Perl implementano o assistono la scrittura di programmi o parti di esse, in uno stile di continuità (CPS). In breve, il CPS è uno stile di codice di scrittura in cui il normale meccanismo di chiamata / restituzione è sostituito da "continuare" esplicita, i valori passati alle funzioni che devono invocare, per implementare il comportamento di ritorno. Per ulteriori dettagli sul CPS, consultare la sezione vedi anche.Quals Questo modulo implementa non è in realtà il vero cps, poiché il perl non supporta nativamente l'idea di una continua continuazione (come quella creata da una co-routine). Inoltre, per i CPS essere efficienti nelle lingue che lo supportano in modo nativo, i loro runtimes implementano in genere molta ottimizzazione del codice CPS, che il perl interprete non sarebbe in grado di eseguire. Invece, i riferimenti al codice sono passati in giro per stare al loro posto. Mentre non è particolarmente utile per la maggior parte dei casi normali, questo diventa molto utile ogni volta che viene utilizzata una qualsiasi qualche forma di programmazione asincrona o basata su evento. Le continuazioni trasmesse alla funzione corporeo di una struttura di controllo possono essere memorizzate nei gestori di eventi del quadro asincrono o guidato dagli eventi, in modo che quando vengono invocati in seguito, il codice continua, alla fine arrivando alla sua risposta finale ad un certo punto nel Future.in Per questi esempi per dare un senso, è stato inventato un quadro immaginario e semplice di asincronizzazione. I dettagli esatti dell'operazione non dovrebbero essere importanti, poiché si trova semplicemente per illustrare il punto. Spero che la sua intenzione generale dovrebbe essere ovvia. :) read_stdin_line (\ on_line); # Attendere su una riga da Stdin, quindi passarlo # al gestore della functionsynopsis utilizzare CPS QW (kwhile); knui (sub {my ($ Knext, $ KLAST) = @_; Stampa "Inserisci un numero o Q per uscire:" Read_stdin_line (sub {my ($ first) = @_; chomp $ prima; restituire $ kms- > () Se $ First EQ "Q"; Stampa "Immettere un secondo numero:"; read_stdin_line (sub {my ($ secondo) = @_; stampa "La somma è". ($ Primo + $ secondi). " n "; $ knext -> ();});});}, sub {exit}); Requisiti: · Perl.


Cs. Software correlato

Ncar.

L'obiettivo è fornire all'utente i comandi NCAR nativi ...

165

Scarica