weniger als

weniger als

Sponsored Links
Sponsored Links

weniger als: Titel

No.
Titel
Kategorie
Preis
Liscense
Dateigröße

weniger als: Beschreibung

No.
Titel
Kategorie
Preis
Liscense
Expand All
1
Programmierung - Bibliotheken
Perl Artistic
Perl6:: Currying ist eine Subroutine Perl-6, die für Perl 5. currying ist.

SYNOPSE

Gebrauch Perl6:: Currying;

Unterseeboot addieren ($a, $b) {$a + $b} # definieren ein Unterseeboot mit benannten Params

Druck addieren (1.2); # Aufruf es

mein $incr = &add.prebind (a=>1); # Bindung das $a Argument bis 1
# eine Stufensprungsubroutine erstellen

Druck $incr->(3), „N“; # Stufensprung eine Zahl

Das Perl6:: Currying Baugruppe läßt Sie die neue ausdrückliche höherer Ordnungfunktionssyntax Perl-6 in Perl 5. ausprobieren.
In Perl 6 kann jede mögliche Subroutine „teilweise gesprungen werden“. Das heißt, können Sie einige seiner Argumente liefern und eine andere Subroutine dadurch erstellen, die die Vorlage mit jenen Argumenten automatisch geliefert nennt.

Subroutineparameter werden teilweise gesprungen, indem man die prebind Methode auf der Subroutine ruft. Rückkehraufrufe dieser Methode ein Hinweis auf einer neuen Subroutine, die die ursprüngliche Subroutine ruft, in seine Argumentliste die prebound Argumente einsteckend. Z.B.:

# Code Perl-6
Vorverteilung ($numerator, $denominator) {
Rückhol$numerator/$denominator;
}

mein $halve = ÷.prebind (denominator=>2);

Notiert, dass sein notwendiges, u. sigil zu verwenden, zum anzuzeigen, dass der Methode CODE:: prebind soll ersucht werden um einem CODE-Nachricht ÷, nicht, was auch immer:: prebind von, was Nachricht zurückging, indem sie Verteilung rief. Um die letzteren zu erhalten, würden wir schreiben:

Verteilung () .prebind (...)

oder:

divide.prebind (...)

Prebound habend, ist der Nenner, wenn wir jetzt die Subroutine angesprochen durch $halve der Effekt nennen, Verteilung mit einem automagically gelieferten Nenner von 2. zu rufen. Das ist:

# Code Perl-6
Druckverteilung (42.2); # Aufrufe ÷… Drucke 21
Druck $halve (42); # Aufrufe ÷… Drucke 21

Sein auch mögliches zum prebind alle Argumente einer Subroutine, irgendeine in einem Zug:

# Code Perl-6
mein $pi_approx = ÷.prebind (numerator=>22, denominator=>7);

Druck $pi_approx (); # Drucke 3.14285714285714
oder in den Stufen:
# Code Perl-6
mein $pi_legislated = $halve.prebind (numerator=>6);

Druck $pi_legislated (); # Drucke 3

Notiert, dass wir u. sigil nicht vor $halve benötigten, da diese Syntax eindeutig ein Aufruf (durch einen Hinweis auf einer CODE-Nachricht) zum CODE: ist: prebind.

Sie können den Perl6 Aliasingbediener auch verwenden (: =) neue benannte Subroutinen erstellen, durch das Existieren teilweise binden. Z.B.:

# Code Perl-6

&reciprocal: = ÷.prebind (numerator=>1);

Druck wechselseitig (10) # Drucke 0.1

Parameter, der in Perl 5 bindet

Das Perl6:: Currying Baugruppe erlaubt Ihnen, die gleiche Syntax in Perl 5. zu verwenden.

Das heißt, können Sie einige der Argumente an a (besonders Prototyp) Subroutine Perl-liefern 5 und eine andere Subroutine dadurch erstellen, die die Vorlage mit jenen Argumenten automatisch geliefert nennt.

Die neue Subroutine wird erstellt, indem man die prebind Methode auf der ursprünglichen Subroutine ruft. Z.B.:

# Code Perl-5
Gebrauch Perl6:: Currying;

Vorverteilung ($numerator, $denominator) {
Rückhol$numerator/$denominator;
}

mein $halve = ÷.prebind (denominator=>2);

Mitteilungen:

Wie das oben genannte Beispiel andeutet, Perl6:: Currying gibt Ihnen die (begrenzte) Fähigkeit, Subroutinen Perl-5 mit benannten Parametern zu erklären. Aktuell müssen jene Parameter eine Liste der Komma-getrennten Scalars sein, wie gezeigt oben. Jeder Parameter wird eine lexikalische Skalarvariable innerhalb der Karosserie der Subroutine.

Für Vorwärtskompatibilität an prebind Parameter in Perl 5, ist die Methodenaufrufsyntax Perl-6 ($objref.methodname (...)), eher als die Syntax Perl-5 gewöhnt ($objref->methodname (...)).

Zu mit Perl 6, sein ruhiges notwendiges in Einklang sein, u. sigil zu verwenden, zum anzuzeigen, dass die zu rufende Methode CODE: ist: prebind, nicht das prebind der Nachricht ging zurück, indem es Verteilung rief.

Prebound habend, ist der Nenner, wenn wir jetzt die Subroutine angesprochen durch $halve der Effekt nennen, Verteilung mit einem automagically gelieferten Nenner von 2. zu rufen. Das ist:

# Code Perl-5
Druckverteilung (42.2); # Aufrufe ÷… Drucke 21
Druck $halve-> (42); # Aufrufe ÷… Drucke 21

, dass, da diese gerade normale Unterprogrammaufrufe Perl-5 sind, die Perl 5 Rufen-durchhinweis Syntax ($subref-> (...)) verwendet wird, eher als die Syntax notiert Perl-6 ($subref. (...)).

Sein auch mögliches zum prebind alle Argumente einer Subroutine, irgendeine in einem Zug:

# Code Perl-5
Gebrauch Perl6:: Currying;

mein $pi_approx = ÷.prebind (numerator=>22, denominator=>7);

Druck $pi_approx-> (); # Drucke 3.14285714285714
oder in den Stufen:
# Code Perl-5
Gebrauch Perl6:: Currying;

mein $pi_legislated = $halve.prebind (numerator=>6);

Druck $pi_legislated (); # Drucke 3

Sie können Perl 5 typeglobs auch verwenden, um neue benannte Subroutinen zu erstellen, indem Sie teilweise das Existieren binden. Z.B.:

# Code Perl-5

*reciprocal = ÷.prebind (numerator=>1);

Druck wechselseitig (10) # Drucke 0.1

weniger als: Zusammenfassung

No.
Titel
Kategorie
Preis
Liscense
Dateigröße
1
Internet - HTTP
GPL (GNU General Public License)
0.52 MB
PHP-ist zufriedenes Management-System ein zufriedenes Managementsystem, das dynamische Menüs und Schablonen liefert.
2
Multimedia - Video
Freeware
0.019 MB
im2avi ist ein kleines Programm für die Herstellung von AVIs von den Reihenfolgen von Bildern.
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