FP.

Eine Bibliothek zur Programmierung in einem funktionalen Stil
Jetzt downloaden

FP. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Stevan Little
  • Website des Verlags:
  • http://search.cpan.org/~stevan/

FP. Stichworte


FP. Beschreibung

Eine Bibliothek zur Programmierung in einem funktionalen Stil FP ist ein Perl-Modul, ein Experiment in der funktionalen Programmierung. Es benutzt nichts anderes als eine Kombination von; Subroutinen, das @_-Array und ein paar eingebaute Bediener, um einen stilvollen Funktionsstil zu implementieren. Nein des oben genannten Codes ist alles interessant, bis Sie darüber nachdenken, dass keinerlei variable Zuweisung (=), wenn Anweisungen oder nicht rekursiv waren Iteration verwendet. Obwohl sie völlig ehrlich sein, gibt es tatsächlich zweimal, wenn der Operator in dem gesamten Modul verwendet wird. Das erste Mal ist, die Modulversion zuzuordnen, das zweite Mal innerhalb der Importroutine ist, aber diese sind wirklich nicht Teile dieser Bibliothek und wirklich mehr Infastruppe ohnehin mehr Infass Auf die Rendite der Werte aus Funktionen erreichbar / manipuliert / manipuliert. Rekursion ist das einzige Iterationsmittel, wir verwenden keiner von Perl-Integration in den Iterationsmechanismen (für Foreach, während usw.). Alle Funktionen sind nicht zerstörerisch zu ihren Eingängen, und fast alles gibt alles ein Array ein, sodass die Funktionsaufrufkainette ganz gut funktioniert. Es arbeitet nur auf flachen Listen, da Perl alle als Argumente angegebenen Arrays abgeflacht wird. Dieser Code wird auch ohne Nebenwirkungen geschrieben. Das heißt, dass jede Funktion geschrieben wird, um einen Algorithmus auszudrücken, der sein Ergebnis erzeugt, anstatt sein Ergebnis durch den Zwang von Nebenwirkungen zu erzeugen. Hier ist ein Beispiel, was ich meine, was ich mit selbst / ungeraden Prädikatfunktionen benutze. Mit Nebenwirkungen: Sub IS_VEN {(($ _ % 2) == 0); } sub is_odd {(($ _ % 2)! = 0); } Ohne Nebeneffekte: Sub IS_VEN {($ _ <= 0)? TRUE: IS_ODD ($ _ - 1); } sub is_odd {($ _ <= 0)? FALSE: IS_EVEN ($ _ - 1); } Synopsis verwenden FP; # filtern alle sein Seien Sie der gerade-Zahlenfilter (Funktion {IS_EVEN (Kopf (@_))}, Bereich (1, 100)); # Teilen Sie die Zeichenfolge, holen Sie sich eine einzigartige Liste aus #. Dann erhalten Sie die Länge dieser Liste, und überprüfen Sie dann #, und überprüfen Sie dann # das 26 is_equal_to (len (einzigartig (explodieren (explodieren ("der schnelle braune Fuchs), der über den faulen Hund gesprungen ist, und rannte den Straße "))), 26); # Die Summe der Zahlen 1 bis 10 ist 55 is_equal_to (Summe (Bereich (1, 10)), 55); Anforderungen: · Perl.


FP. Zugehörige Software