This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

 Documentation /  Mathematica /  Das Mathematica Buch /  Die Prinzipien von Mathematica /  Transformationsregeln und Definitionen /

Modifizieren von eingebauten FunktionenInhalt

2.4.13 Fortgeschrittenes Thema: Wertelisten manipulieren

Bestimmen und Setzen der Werte von Symbolen

Mathematica speichert alle von Ihnen gegebenen Definitionen im Grunde als Listen mit Transformationsregeln. Wenn ein bestimmtes Symbol angetroffen wird, wird die Liste der damit verknüpften Regeln getestet.

Meistens benötigen Sie keinen direkten Zugriff auf die eigentlichen Transformationsregeln, die mit den von Ihnen gegebenen Definitionen verknüpft sind. Stattdessen können Sie einfach ls = rs und ls =. benutzen, um Regeln hinzuzufügen oder zu entfernen. In einigen Fällen finden Sie es jedoch vielleicht nützlich, direkten Zugriff auf die eigentlichen Regeln zu haben.

Hier ist eine Definition für f.

In[1]:= f[x_] := x^2

Dies ergibt die explizite Regel, die der von Ihnen gemachten Definition für f entspricht.

In[2]:= DownValues[f]

Out[2]=

Beachten Sie, daß die von DownValues und UpValues zurückgegebenen Regeln so angelegt sind, daß weder ihre linke noch ihre rechte Seite evaluiert sind. Die linken Seiten sind mit HoldPattern eingehüllt, und die Regeln sind verzögert, so daß die rechten Seiten nicht sofort evaluiert werden.

Mathematica versucht, die Definitionen so zu ordnen, daß speziellere vor allgemeineren erscheinen (siehe auch Abschnitt 2.4.6). Im allgemeinen gibt es jedoch keinen eindeutigen Weg zur Herstellung dieser Ordnung, und Sie bevorzugen ja vielleicht eine andere Ordnung als die von Mathematica als Vorgabe gewählte. Diese können Sie durch eine Neuordnung der Liste, die Sie von DownValues oder UpValues erhalten, realisieren.

Hier sind einige Definitionen für das Objekt g.

In[3]:= g[x_ + y_] := gp[x, y] ; g[x_ y_] := gm[x, y]

Dies zeigt die Vorgabe-Reihenfolge, die für die Definitionen verwendet wird.

In[4]:= DownValues[g]

Out[4]=

Dadurch wird die Reihenfolge der Definitionen für g umgekehrt.

In[5]:= DownValues[g] = Reverse[DownValues[g]]

Out[5]=

Modifizieren von eingebauten FunktionenInhalt