Wolfram Computation Meets Knowledge

Die Wolfram Language:
Schnell-Einführung für Programmierer

Zusätzliche Anmerkungen zeigen für:
Alle Kapitel 
  • Über die Wolfram Language
  • Zusätzliche Anmerkungen zeigen fü...
  • Anmerkungen für Java
  • Anmerkungen für Python
  • Zusätzliche Anmerkungen verbergen
Los geht's

Funktionsdefinitionen Video ansehen

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:

In[1]:=

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:

In[2]:=
Out[2]=

Löschen Sie die Definition:

In[3]:=

Funktionen können definiert werden, indem man ihnen eine Reihe an Werten zuweist:

In[1]:=
Out[1]=

In[2]:=
Out[2]=

Undefinierte Fälle bleiben unberührt:

In[3]:=
Out[3]=

Mit /; können Sie eine Definition einschränken, so dass sie nur unter einer bestimmten Bedingung angewendet wird:

In[4]:=

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":

In[1]:=

In[2]:=
Out[2]=

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:

In[1]:=
In[2]:=

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


Welche der folgenden Definitionen beschreibt eine Funktion f, die zwei Zahlen (z.B. f[3, 4] == 7) addiert?


Welche Definition würde {f[1], f[2], f[3], f[4]} als {f[1], 5, 6, f[4]} auswerten?


Wenn die Funktion f definiert ist als f[x_, y_] := x + y, welcher der folgenden Terme ist der Wert von f[a, b]?

© 2024 Wolfram. All rights reserved.