Klasse :: Props

Klasse :: Props is een pragma om LVALUE-accessors met opties te implementeren.
Download nu

Klasse :: Props Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Domizio Demichelis
  • Uitgever website:
  • http://search.cpan.org/~domizio/CGI-Application-Plus-1.21/lib/CGI/Application/CheckRM.pm

Klasse :: Props Tags


Klasse :: Props Beschrijving

Klasse :: Props is een pragma om LVALUE-accessors met opties te implementeren. Klasse :: Rekwisieten is een pragma om LVALUE-accessors met opties te implementeren. Synopsisclass Pakket MyClass; # Implementeer constructeur zonder opties Gebruik klasse :: Const; # Alleen accessors zonder opties (lijst met strings) Gebruik de klas :: rekwisieten @prop_names; # @Prop_names (1) # Een eigenschap met validatie en standaard (lijst met hash refits) Gebruik klasse :: rekwisieten {naam => 'cijfers', validatie => sub {/ ^ D + Z /}, # Gewoon cijfers Standaard > 10}; # Een groep van eigenschappen met gebruikelijke volledige opties Gebruik Klasse :: Props {Name => @ prop_NAMES2, # @ prop_NAMES2 (1) Standaard => sub {$ _ -> Other_default}, validatie => sub {/ w + / }, beschermd => 1, no_strict => 1, toegestaan => qr / :: toegestaan_sub $ /}; # Al het bovenstaande in slechts één stap (lijst met snaren en hash Refs) Gebruik klasse :: Props @prop_names, # @prop_names (1) {naam => 'cijfers', validatie => sub {/ ^ D + Z /} , standaard => 10}, {name => @ prop_name2, # @ prop_NAMES2 (1) Standaard => sub {$ _ -> Other_default}, validatie => sub {/ w + /}, beschermd => 1, no_strict => 1, toegestaan => qr / :: toegestaan_sub $ /}; # (1) moet in een beginblok worden ingesteld om effect te hebben bij Compile TimeUSage: $ Object = MyCLASS-> NIEUW (cijfers => '123'); $ Object-> cijfers = '123'; MyClass-> Digits = '123'; # hetzelfde $ object-> cijfers ('123'); # oude manier ondersteund $ D = $ object-> cijfers; # $ D == 123 $ D = $ MyClass :: Digits # $ D == 123 UNDEF $ Object-> cijfers # $ Object-> cijfers == 10 (standaard) # deze zouden croak $ object-> cijfers = "xyz "; MyClass-> Digits = "XYZ"; # Dit zal de accessor omzeilen, Whiteout Croaking $ MyClass :: Digits = "XYZ"; deze pragma implementeert gemakkelijk LVALUE-accessor-methoden voor de eigenschappen van uw klasse (LVALUE betekent dat u een verwijzing hierop kunt maken, toewijzen en een regex toewijzen Naar het; zie ook "Bekende kwestie"), die zeer efficiënte functiesjablonen zijn die uw modules bij compileertijd kunnen importeren. "Deze techniek bespaart op zowel compilertijd- en geheugengebruik en is ook minder fout-gevoelig, aangezien de syntaxiscontroles op compileertijd gebeuren." (geciteerd uit "Functiesjablonen" in de Perlref-mandpagina). U kunt volledig vermijden om de accessor te schrijven door de namen te declareren en uiteindelijk de standaardwaarde, validatiecode en andere optie van uw eigenschappen. De toccessor-methode creëert een scalair in de klasse Dat implementeert het (bijv. $ Class :: Any_Property) en Sets / Get GAPt het met de opties die u instelt. Deze module maakt het mogelijk ook "luie" gegevensverwerking (zie de standaardoptie). REQUIRINGEN: · PERL-versie> = 5.6.1Installatie: CPAN PERL -MCPAN -E 'Installeer Ootools'Standard InstallationFrom De map waar dit bestand zich bevindt, typt: PERL MAKEFILE.PL Make Maak Test Make Install


Klasse :: Props Gerelateerde software