Bedeutung höherer Ordnung Funktionen
In Bezug auf die Funktionen höherer Ordnung sind einige wichtige Punkte:
Beispiel 1: Verwenden einer Funktion, um eine andere Funktion als Argument zu nehmen
Betrachten wir das erste Beispiel einer Funktion höherer Ordnung. Wir übergeben die Funktion in einer bestimmten Funktion als Parameter.
Hier ist das Objekt als „myObject“ bezeichnet. In der Hauptdefinition des Objekts haben wir dann eine Funktion "func" bezeichnet. Die Funktion „func“ nimmt den numerischen Wert und die Funktion „MultiplyByThree“ als Eingabe an. Wir haben erneut die Funktion "Func" aufgerufen, um den Wert von "x" zu drucken, der als Eingabe innerhalb des "F" übergeben wird. Zuletzt setzen wir den Vorgang "X*3" in der Funktion "MultiplyByByThree".
Während wir die Funktion „multiplyByByThree“ in der anderen Funktion „func“ übergeben haben, gibt die Funktion „func“ das Ergebnis der Funktion „MultiplyByThee“ wie folgt aus:
Beispiel 2: Verwenden der anonymen Funktion als Lambda
Eine anonyme Funktion hat keinen Namen, sondern führt dieselbe Funktion aus. Wenn Sie nicht beabsichtigen, eine Funktion später zu wiederholen, ist das Erstellen einer anonymen Version eine gute Idee. In Scala können die Wildkarten -Operatoren „=>“ und „_“ unterstrichen, um anonyme Funktionen zu generieren.
Hier ist eins zu veranschaulichen:
In der Hauptmethode des Objekts „Mydemo“ haben wir zwei Variablen erstellt. Die Variablen werden als "res1" und "res2" deklariert. Die Variable "res1" wird mit der anonymen Funktion mit dem Operator "=>" initialisiert. Die anonyme Funktion wird mit den X- und Y -Parametern eingestellt und auf der rechten Seite des Raketenbetriebs "=>" Operator setzen wir die Gleichung "x+y" fest. Danach haben wir eine weitere anonyme Funktion, die mit der Wildcard "_" verwendet wird. Innerhalb der Println -Methode haben wir "res1" und "res2" bezeichnet und ihnen zwei Werte zugewiesen.
Die Ergebnisse für beide anonymen Funktionen werden wie folgt generiert:
Beispiel 3: Verwendung von Multilin -Expression
Der Begriff „Multilinexpression“ bezieht sich auf die Ausdrücke, die viele Zeilen umfassen. Wenn Sie die Multiline -Ausdrücke in Scala verwenden, sollten Sie Vorsicht walten lassen. Um Probleme in Bezug auf den multilinen Ausdruck zu vermeiden, können Sie die folgenden Methoden anwenden:
Das Objekt "myTest" hat die Definition von drei Funktionen. Die erste Funktion ist definiert als "sum1", das die Parameter "I" und "J" nimmt. Die Eingangswerte "I" und "J" werden in dem Funktion "sum1" als "i+J" eingestellt. Als nächstes haben wir eine andere Funktion als "sum2", die auch die Eingangswerte nimmt und auch den Vorgang "i+j" festlegt. Danach haben wir die Hauptmethode definiert, bei der zwei Variablen „Ergebnis1“ und „Ergebnis2“ deklariert werden. Diese Variablen werden als "sum1" und "sum2" bezeichnet, um die Werte gegen das "I" und "J" zu übergeben.
Die Ausgabe, die durch beide Funktionen "sum1" und "sum2" erhalten wurde.
Beispiel 4: Verwenden einer Funktionstrage
Eine Methode in Scala kann zahlreiche Parameterlisten aufweisen. Eine Funktion, die die fehlenden Argumentlisten als Argumente akzeptiert, wird erstellt, wenn eine Funktion mit weniger Parameterlisten aufgerufen wird, als es benötigt. Mit anderen Worten, es ist eine Methode, um eine Funktion zu ändern, die mehrere Parameter in eine akzeptiert, die nur eine akzeptiert.
Hier haben wir eine Funktion „hinzufügen“ erstellt, die zwei Argumente getrennt nimmt. Das „P“ ist das erste Argument und „Q“ ist das zweite Argument. Dann haben wir in der Hauptmethode eine Variable „Ergebnis1“ deklariert. Die Variable "Ergebnis1" wird als "Add" -Funktion bezeichnet und die Werte für "P" und "q" festgelegt. Außerdem haben wir das einzelne Argument für die Funktion „Add“ übergeben, die in der Variablen "Addvalues" aufgerufen wird. Die Addvalues nimmt auch die Argumentwerte einer Zahl an.
Die Ergebnisse für den vorherigen Code nach Kompilierung sind wie folgt:
Beispiel 5: Verwenden einer verschachtelten Funktion
Als erstklassige Funktionssprache können Sie Scala die Funktionen übergeben, die Funktionen zurückgeben, die Funktionen komponieren, die verschachtelten Funktionen verwenden und mehr. Die Definition und Aufruf von verschachtelten Funktionen werden im folgenden Beispiel demonstriert:
Innerhalb der Funktion "sub1" haben wir eine andere Funktion "sub2" definiert, die den Unterschied zwischen "A-B" bewertet, das bewertet wird. Außerhalb der Sub2 -Funktion haben wir den Argumentwert "x" und "sub2 (y, z)" bezeichnet, das den Argumentwert nimmt, und "Sub2 (y, z)" nimmt. Als nächstes haben wir eine Variable „Ergebnis“ deklariert, die als Sub1 -Funktion bezeichnet wird und den numerischen Wert übergeben wurde, der für unterschiedliche Operationen bewertet werden soll.
Das Folgende ist das unterschiedliche Betriebsergebnis, das durch den vorherigen Code generiert wird:
Beispiel 6: Verwenden einer Funktion mit Parametern der variablen Länge
Sie können die Funktionen mit Parametern der variablen Länge in Scala definieren. Jede Menge an Argumenten kann beim Aufrufen der Funktion übergeben werden.
In der Funktion "Add" setzen wir die Variable "MySum", die ursprünglich Null ist. Dann haben wir für Schleifen, die über die Zahlen und Inkremente nach dem Mysum iteriert. In der Hauptsache haben wir die Funktion hinzufügen und die numerischen Werte an sie übergeben.
Die Länge der Variablen „Mysum“ wird auf dem Bildschirm gedruckt.
Abschluss
Wir haben aus dem oben genannten Artikel entdeckt, dass die Verwendung der Funktionen höherer Ordnung in Scala die Codebasis einfach und einfach für Operationen verstehen kann. Funktionen höherer Ordnung sind solche, die die Eingaben von anderen Funktionen akzeptieren oder zurückgeben. Wir haben auch die Beispiele untersucht, in denen die verschiedenen Anwendungen für diese Funktionen höherer Ordnung gezeigt werden. Zusätzlich haben wir gelernt, die anonymen Funktionen als Funktionen mit hoher Ordnung zu übergeben.