Atexit

ATEXIT is een PERL-module die exit-verwerking kan uitvoeren voor een programma of object.
Download nu

Atexit Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Andrew Langmead, Brad Appleton and Michael A. Chase
  • Uitgever website:
  • http://search.cpan.org/~bradapp/AtExit-2.01/AtExit.pm

Atexit Tags


Atexit Beschrijving

ATEXIT is een PERL-module die exitverwerking kan uitvoeren voor een programma of object. ATEXIT is een PERL-module die exit-verwerking kan uitvoeren voor een programma of object.Synopsis Gebruik Atexit; subopruiming {mijn @args = @_; Print "opruimen () Uitvoeren: Args = @argsn"; } ## Subroutines om te worden gebeld wanneer dit programma $ _ = ATEXIT (opruiming "verlaat," is deze oproep eerst geregistreerd "); Print "Eerste oproep naar Atexit () Geretourneerde $ _N"; $ _ = ATEXIT ("opruimen", "Deze oproep is geregistreerd als tweede"); Print "Tweede oproep naar ATEXIT () Geretourneerde $ _N"; $ _ = ATEXIT ("opruimen", "Deze oproep had niet geregistreerd door RMEXIT"); rmaxit ($ _) of waarschuwing "konnt niet verstreden afrit-sub $ _!"; if (@argv == 0) {## Registreren Subroutines om te worden gebeld wanneer deze lexicale scope is verlaten mijn $ scope1 = atexit-> nieuw (opruiming, "scope 1, callback 1"); {## Doe hetzelfde voor deze geneste bereik mijn $ scope2 = atexit-> nieuw; $ _ = $ scope2-> Atexit (opruimen, "Scope 2, callback 1"); $ scope1-> Atexit (opruimen, "scope 1, callback 2"); $ Scope2-> Atexit (opruimen, "Scope 2, Terugbellen 2"); $ scope2-> rmaxit ($ _) of warn "kon de afrit-sub $ _ niet registreren!"; Print "*** Verlaat Scope 2 *** n"; } Print "*** Afgewerkt Scope 2 *** N"; Print "*** Verlaat Scope 1 *** n"; } Print "*** Eindige reikwijdte 1 *** n" if (@argv == 0); Einde {Print "*** Nu uitvoeren van programmeeruitgangsverwerking *** n"; } De ATEXIT-module biedt ANSI-C Style EXIT-verwerking gemodelleerd na de ATEXIT-functie in de standaard C-bibliotheek (zie ATEXIT (3C)). Verschillende uitgangsverwerkingsroutines kunnen worden geregistreerd door Atexit te bellen en de gewenste subroutine te passeren, samen met gewenste argumenten. Vervolgens worden op programmeeruitgangstijd de subroutines geregistreerd bij ATEXIT ingeroepen met hun opgegeven argumenten in de omgekeerde volgorde van registratie (laatste geregistreerd wordt eerst ingeroepen). Dezelfde subroutine registreren Meer dan één keer zal ervoor zorgen dat Subroutine eenmaal voor elke registratie wordt ingeroepen. Een ATEXIT-object kan in een reikwijdte worden gecreëerd. Wanneer opgeroepen als functie, registreert AVEXIT callbacks die moeten worden uitgevoerd op programmeeruitgangstijd. Maar wanneer opgeroepen als een object-methode (met behulp van de $ Object-> Method_Name-syntaxis), worden callbacks geregistreerd bij een ATEXIT-object uitgevoerd op object-vernietigingstijd! De regels voor de uitvoering van de uitvoering van de geregistreerde subroutines zijn hetzelfde voor objecten tijdens objectvernietiging, wat betreft het programma tijdens het programmeren. De atexit-functie / -methode moet een subroutine-naam of referentie worden doorgegeven, optioneel gevolgd door de lijst met argumenten, optioneel om het op te roepen bij programma / objectrittijd. Anonieme subroutine-referenties die zijn doorgegeven aan Atexit Act als "sluitingen" (die worden beschreven in Perlref). Als een subroutine-naam wordt opgegeven (in tegenstelling tot een subroutine-referentie), tenzij de naam van de subroutine een expliciet pakketvoorvoegsel heeft, wordt verondersteld de naam van een subroutine te zijn in het huidige pakket van de beller. Een verwijzing naar de opgegeven subroutine wordt verkregen, en als aanroepsargumenten zijn opgegeven, is het "ingepakt" in een sluiting die de subroutine met de opgegeven argumenten opneemt. De resulterende subroutine-referentie wordt aan de voorkant van de lijst van subroutines van de exit-handling toegevoegd voor het programma (ATEXIT) of het ATEXIT-object ($ EXITOBJECT-> ATEXIT) en de referentie wordt dan geretourneerd naar de beller (voor het geval u wilt Om het later te herregistreren met behulp van RMEXIT. Als de gegeven subroutine niet kon worden geregistreerd, wordt de waarde nul geretourneerd. De RMEXIT-functie / -methode moet een of meer subroutine-referenties worden doorgegeven, die elk door een vorige oproep naar ATEXIT worden geretourneerd. Voor Elk argument dat wordt gegeven, zal RMEXIT in de lijst van exit-handling-subroutines kijken voor het programma (RMEXIT) of het ATEXIT-object ($ EXITOBJECT-> RMEXIT) en het eerste bijpassende item uit de lijst verwijderen. Als er geen argumenten worden gegeven Programma of Object Exit-Handlers zijn niet geregistreerd! De geretourneerde waarde is het aantal subroutines dat succesvol niet-geregistreerde objectvernietigingstijd is, de vernietigde Subroutine in de Atexit-module in de ATEX-module in de ATEX Het object en roept elk op zijn beurt (elke subroutine wordt onmiddellijk uit de voorkant van de wachtrij verwijderd voordat deze wordt aangeroepen). Op programmatijd, het einde {} blokkeer in de ATEXIT-module, herhaalt u over de subroutines in de array die wordt geretourneerd door de EXIT_SUBS-methode en roept elk op zijn beurt (elke subroutine onmiddellijk van de voorkant van de wachtrij te verwijzen voordat deze wordt aangevoerd) . Merk op dat in beide gevallen (programmeeruitgang en object-vernietiging) de subroutines in deze wachtrij worden aangeroepen in de eerste totale bestelling (de omgekeerde volgorde waarin ze bij ATEXIT zijn geregistreerd). Vereisten: · Perl


Atexit Gerelateerde software

ftp4che

FTP4CHE is een FTP-bibliotheek voor Java 1.4 en 5.0 met ondersteuning voor impliciete SSL. ...

354

Downloaden

pywmdockapps

PywmDockApps is de plek om te zijn als u geïnteresseerd bent in raammaker, DockApps en Python. ...

116

Downloaden