Klasse:: Meta:: Express 0.04
Sponsored Links
Klasse:: Meta:: Express 0.04: Zusammenfassung
Dateigröße:
0.009 MB
Flatform:
Any Platform
Liscense:
Perl Artistic License
Preis:
Download-Zahl:
8046
Datum:
2006-10-19
Verlag:
Other Publisher
Klasse:: Meta:: Express 0.04: Beschreibung
Kategorie:: Meta-:: Ist eine Perl-Baugruppe für kurze, ausdrucksvolle Kreation der Kategorie: ausdrücklich: Meta-Kategorien.
Synopse
mein verpacken:: Kontakt;
Gebrauch Kategorie:: Meta-:: Ausdrücklich;
Kategorie {
Meta-Kontakt => (default_type => Zeichenkette);
hat Namen;
hat Kontakt => (erforderliches => 1);
}
Diese Baugruppe liefert, eine Schnittstelle kurz dennoch erstellt ausdrucksvoll Kategorien mit Kategorie:: Meta-. Obgleich ich selbstverständlich in Kategorie: vernarrt bin: Meta-, Ive übermäßig gebegeistert nie mit seiner Schnittstelle für das Erstellen der Kategorien:
mein verpacken:: Thingy;
Gebrauch Kategorie:: Meta-;
ANFANGEN {
# eine Kategorie erstellen:: Meta-Nachricht für diese Kategorie.
mein $cm = Kategorie:: Meta->new (Schlüssel=> thingy);
# einen Erbauer hinzufügen.
$cm->add_constructor (Namens=> neu);
# ein paar Attribute mit festgelegten Accessors addieren.
$cm->add_attribute (
=> Identifikation benennen,
ist => ganze Zahl,
erforderliches => 1,
);
$cm->add_attribute (
Namens=> Name,
ist => Zeichenkette,
erforderliches => 1,
);
$cm->add_attribute (
Namens=> Alter,
ist => ganze Zahl,
);
# eine kundenspezifische Methode hinzufügen.
$cm->add_method (
=> chk_pass benennen,
=> Unterseeboot {Rückgabecode} codieren,
);
$cm->build;
}
Dieses Beispiel ist verhältnismäßig einfach; es kann viel mehr ausführlich erhalten. Aber sogar noch, waren alle Methodenaufrufe ärgerlich. Ich bedeute, wer auch immer dachte an die Anwendung einer objektorientierten Schnittstelle für die Erklärung einer Kategorie? (Oh yeah: Ich tat.) Ich war nicht allein, wenn ich eine erklärendereschnittstelle wünschte; Curtis Poe, mit meinem Segen, erstellte Kategorie:: Meta-:: Erklären, das diese Syntax verwenden, um die gleiche Kategorie zu erstellen:
mein verpacken:: Thingy;
Gebrauch Kategorie:: Meta-:: Erklären: alle;
Kategorie:: Meta-:: Declare->new (
# eine Kategorie erstellen:: Meta-Nachricht für diese Kategorie.
Meta- => [
Schlüssel=> thingy,
],
# einen Erbauer hinzufügen.
Erbauer => [
neues => {}
],
# ein paar Attribute mit festgelegten Accessors addieren.
zuschreibt => [t
Identifikation => {
=> $TYPE_INTEGER schreiben,
erforderliches => 1,
},
Namens=> {
erforderliches => 1,
=> $TYPE_STRING schreiben,
},
Alter => {Typ => $TYPE_INTEGER,},
],
# eine kundenspezifische Methode hinzufügen.
Methoden => [
chk_pass => {
=> Unterseeboot {Rückgabecode} codieren,
}
]
);
Dieser Anflug hat den Vorteil des Seins ein bißchen kürzer, und er ist Aussage, aber ich finde alle Einrückungsstände zu stören; seine Zwangsarbeit, damit ich herausfinde, wo ich bin, besonders wenn ich viele Attribute definieren muß. Und schließlich, ist alles eine Zeichenkette mit dieser Syntax, außer jenen häßlichen Read-only-Scalars wie $TYPE_INTEGER. So kippe ich mitteile leicht, wo ein Attribut beendet und das folgende man beginnt. Bleh.
Synopse
mein verpacken:: Kontakt;
Gebrauch Kategorie:: Meta-:: Ausdrücklich;
Kategorie {
Meta-Kontakt => (default_type => Zeichenkette);
hat Namen;
hat Kontakt => (erforderliches => 1);
}
Diese Baugruppe liefert, eine Schnittstelle kurz dennoch erstellt ausdrucksvoll Kategorien mit Kategorie:: Meta-. Obgleich ich selbstverständlich in Kategorie: vernarrt bin: Meta-, Ive übermäßig gebegeistert nie mit seiner Schnittstelle für das Erstellen der Kategorien:
mein verpacken:: Thingy;
Gebrauch Kategorie:: Meta-;
ANFANGEN {
# eine Kategorie erstellen:: Meta-Nachricht für diese Kategorie.
mein $cm = Kategorie:: Meta->new (Schlüssel=> thingy);
# einen Erbauer hinzufügen.
$cm->add_constructor (Namens=> neu);
# ein paar Attribute mit festgelegten Accessors addieren.
$cm->add_attribute (
=> Identifikation benennen,
ist => ganze Zahl,
erforderliches => 1,
);
$cm->add_attribute (
Namens=> Name,
ist => Zeichenkette,
erforderliches => 1,
);
$cm->add_attribute (
Namens=> Alter,
ist => ganze Zahl,
);
# eine kundenspezifische Methode hinzufügen.
$cm->add_method (
=> chk_pass benennen,
=> Unterseeboot {Rückgabecode} codieren,
);
$cm->build;
}
Dieses Beispiel ist verhältnismäßig einfach; es kann viel mehr ausführlich erhalten. Aber sogar noch, waren alle Methodenaufrufe ärgerlich. Ich bedeute, wer auch immer dachte an die Anwendung einer objektorientierten Schnittstelle für die Erklärung einer Kategorie? (Oh yeah: Ich tat.) Ich war nicht allein, wenn ich eine erklärendereschnittstelle wünschte; Curtis Poe, mit meinem Segen, erstellte Kategorie:: Meta-:: Erklären, das diese Syntax verwenden, um die gleiche Kategorie zu erstellen:
mein verpacken:: Thingy;
Gebrauch Kategorie:: Meta-:: Erklären: alle;
Kategorie:: Meta-:: Declare->new (
# eine Kategorie erstellen:: Meta-Nachricht für diese Kategorie.
Meta- => [
Schlüssel=> thingy,
],
# einen Erbauer hinzufügen.
Erbauer => [
neues => {}
],
# ein paar Attribute mit festgelegten Accessors addieren.
zuschreibt => [t
Identifikation => {
=> $TYPE_INTEGER schreiben,
erforderliches => 1,
},
Namens=> {
erforderliches => 1,
=> $TYPE_STRING schreiben,
},
Alter => {Typ => $TYPE_INTEGER,},
],
# eine kundenspezifische Methode hinzufügen.
Methoden => [
chk_pass => {
=> Unterseeboot {Rückgabecode} codieren,
}
]
);
Dieser Anflug hat den Vorteil des Seins ein bißchen kürzer, und er ist Aussage, aber ich finde alle Einrückungsstände zu stören; seine Zwangsarbeit, damit ich herausfinde, wo ich bin, besonders wenn ich viele Attribute definieren muß. Und schließlich, ist alles eine Zeichenkette mit dieser Syntax, außer jenen häßlichen Read-only-Scalars wie $TYPE_INTEGER. So kippe ich mitteile leicht, wo ein Attribut beendet und das folgende man beginnt. Bleh.
Klasse:: Meta:: Express 0.04: Screenshot
Sponsored Links
Klasse:: Meta:: Express 0.04: Stichwort
Typ
integer
Perl-Modul
Name
knapp
Modul
erforderlich
Methode
Schnittstelle
Klasse:: Meta:: Express 0.04
Bibliotheken
Programmierung
Klasse:: Meta:: Express 0.04: Lesezeichen
Klasse:: Meta:: Express 0.04: verwandt software
Meine Software
Sie haben noch keine Software. Klicken Sie auf Save "neben den einzelnen Software, um ihn zu speichern, um Ihre Software-Korb"
Verwandte Suche
Sponsored Links
