Looking for scala Keywords? Try Ask4Keywords

Scala LanguageFunktion höherer Ordnung


Bemerkungen

Scala legt großen Wert darauf, Methoden und Funktionen als syntaktisch identisch zu behandeln. Aber unter der Haube sind sie unterschiedliche Konzepte.

Eine Methode ist ausführbarer Code und hat keine Wertdarstellung.

Eine Funktion ist eine tatsächliche Objektinstanz des Typs Function1 (oder eines ähnlichen Typs einer anderen Art). Der Code ist in der apply Methode enthalten. Im Grunde fungiert es einfach als Wert, der herumgereicht werden kann.

Im Übrigen ist genau die Fähigkeit , Funktionen als Werte zu behandeln , was durch eine Sprache gemeint ist die Unterstützung für Funktionen höherer Ordnung aufweist. Funktionsinstanzen sind Scalas Ansatz zur Implementierung dieser Funktion.

Eine tatsächliche Funktion höherer Ordnung ist eine Funktion, die entweder einen Funktionswert als Argument verwendet oder einen Funktionswert zurückgibt. Da in Scala alle Operationen Methoden sind, ist es allgemeiner, über Methoden nachzudenken, die Funktionsparameter empfangen oder zurückgeben. map , wie in Seq definiert, kann daher als "Funktion höherer Ordnung" betrachtet werden, da es sich bei seinem Parameter um eine Funktion handelt, aber es handelt sich nicht um eine Funktion. Es ist eine Methode.

Funktion höherer Ordnung Verwandte Beispiele