Funktionsdefinitionen
In der Wolfram Language sind Funktionsdefinitionen nichts anderes als Zuweisungen, die die Übergaberegeln für Patterns angeben.
Anmerkungen für Java-Programmierer:
Im Gegensatz zu Methoden in der objektorientierten Java-Programmiersprache werden Funktionen der Wolfram Language nicht durch eine Klassenhierarchie beschränkt.
Definieren Sie eine Funktion mit zwei Argumenten namens x und y:
Anmerkungen für Java-Programmierer:
Bei Funktionsdefinitionen in der Wolfram Language folgt auf Parameternamen ein Unterstrich _ ("blank"). Anders als Java akzeptieren Wolfram Language-Funktionen standardmäßig Daten aller Art.
Anmerkungen für Python-Programmierer:
Bei Funktionsdefinitionen in der Wolfram Language folgt auf Parameternamen ein Unterstrich _ ("blank"). Parameter können beliebigen symbolischen Mustern entsprechen. Dies ermöglicht mächtige und flexible Definitionen, die so standardmäßig in Python nicht möglich wären.
Verwenden Sie die Definition:
Löschen Sie die Definition:
Funktionen können definiert werden, indem man ihnen eine Reihe an Werten zuweist:
Undefinierte Fälle bleiben unberührt:
Mit /; können Sie eine Definition einschränken, so dass sie nur unter einer bestimmten Bedingung angewendet wird:
Anmerkungen für Java-Programmierer:
Der Operator /; funktioniert in der Wolfram Language wie eine verkürzte If-Anweisung.
Anmerkungen für Python-Programmierer:
In der Wolfram Language funktioniert /; wie eine If-Anweisung, die auf eine Funktion angewendet werden kann, so dass eine Funktion je nach Bedingung flexibel eine Definition auswählen kann.
Sie können die Parameterübergaben der linken Seite definieren — eine bequeme Art, Argumente zu "dekonstruieren":
Die Wolfram Language arbeitet nicht mit Typen per se; alles ist ein symbolischer Ausdruck. Der "Kopf" eines Ausdrucks kann als eine Art verallgemeinerter Typenbezeichner verwendet werden.
Geben Sie verschiedene Definitionen an, wie sich f bei Verwendung mit einem "u-Objekt" oder "v-Objekt" verhalten soll:
Anmerkungen für Java-Programmierer:
Dies ähnelt dem Überladen einer Java-Methode bei unterschiedlichen Datentypen, mit dem Unterschied, dass man in der Wolfram Language Funktionen basierend auf der symbolischen Struktur ihrer Argumente überladen kann.
Anmerkungen für Python-Programmierer:
Eine Wolfram Language-Funktion kann eingebautes Pattern-Matching verwenden, um ihr Verhalten je nach der symbolischen Struktur ihrer Argumente zu ändern. In Python würde dies ziemlich ausgefeilten Code oder externe Libraries voraussetzen.
ZUM SCHNELLEN NACHSCHLAGEN: Variablen und Funktionen definieren