CPS

Flow Control Structures in continuatie-passerende stijl
Download nu

CPS Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Paul Evans
  • Uitgever website:
  • http://search.cpan.org/~pevans/

CPS Tags


CPS Beschrijving

Stroomcontrolestructuren in voortzetting-passerende stijl De functies in de CPS PERL-module implementeren of helpen het schrijven van programma's of delen van hen, in voortzetting passerende stijl (CPS). Kortom, CPS is een stijl van schrijfcode waarbij het normale gesprek / retourmechanisme wordt vervangen door expliciete "continuaties", waarden ingevoerd in functies die ze zouden moeten aanroepen, om terugkeergedrag te implementeren. Raadpleeg ook voor meer informatie over CPS, zie ook de sectie Zie ook. Wat deze module implementeert niet in feite TRUE CPS, zoals PERL niet in native het idee van een echte voortzetting ondersteunt (zoals gecreëerd door een co-routine). Bovendien, voor CPS om efficiënt te zijn in talen die het ertoont, implementeren hun looptijden meestal veel optimalisatie van de CPS-code, die de PERL-tolk niet kan uitvoeren. In plaats daarvan worden code-referenties doorgegeven om in hun plaats te staan. Hoewel niet bijzonder nuttig is voor de meeste reguliere gevallen, wordt dit erg handig wanneer een vorm van asynchrone of op gebeurtenissen gebaseerde programmering wordt gebruikt. Continuaties die zijn ingevagen bij de lichaamsfunctie van een controlestructuur kunnen worden opgeslagen in de gebeurtenishandlers van het asynchrone of gebeurtenisgestuurde raamwerk, zodat wanneer ze later worden aangeroepen, de code voortduurt, uiteindelijk aankomen op een bepaald moment aankomen op een bepaald moment in de Future.In bestel voor deze voorbeelden om zin te geven, is een fictief en eenvoudig asynchronisatiekader uitgevonden. De exacte details van de werking mogen niet belangrijk zijn, omdat het eenvoudigweg staat om het punt te illustreren. Ik hoop dat het algemene intentie duidelijk moet zijn. :) Read_stdin_line (\ on_line); # WACHT OP EEN LINE VAN STDIN, GAAN HET # AAN DE HANDLER FUNCTIONSYNOPSIS Gebruik CPS QW (KTHER); KThile (sub {My ($ KNODE, $ KLAST) = @_; print "Voer een nummer in of q om te stoppen:"; Read_stdin_line (sub {My ($ EERSTE) = @_; Chomp $ EERSTE; RETURNEN $ KLAST- > () Als $ EERSTE EQ "Q"; afdrukken "Voer een tweede nummer in:"; Read_stdin_line (sub {My ($ seconde) = @_; print "De som is". ($ EERSTE + $ Ten tweede). ". n "; $ KNODEN -> ();});});}, sub {exit}); Vereisten: · Perl


CPS Gerelateerde software