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 /  Muster /

Setzen von Nebenbedingungen für MusterFlache und ungeordnete Funktionen

2.3.6 Muster, die Alternativen enthalten

Spezifizierung von Mustern, die Alternativen enthalten

Dies definiert, daß h p ergibt, wenn das Argument entweder a oder b ist.

In[1]:= h[a | b] := p

Die ersten zwei Fälle ergeben p.

In[2]:= {h[a], h[b], h[c], h[d]}

Out[2]=

Sie können auch Alternativen in Transformationsregeln verwenden.

In[3]:= {a, b, c, d} /. (a | b) -> p

Out[3]=

Hier ist ein anderes Beispiel, in dem eine der Alternativen selbst ein Muster ist.

In[4]:= {1, x, x^2, x^3, y^2} /. (x | x^_) -> q

Out[4]=

Wenn Sie Alternativen in Mustern benutzen, sollten Sie sich davon überzeugen, daß in jeder Alternative derselbe Satz von Namen auftritt. Wenn ein Muster wie (a[x_] | b[x_]) zu einem Ausdruck paßt, existiert immer ein eindeutiger Ausdruck, der dem Objekt x entspricht. Anderseits wird es beim Muster-Vergleich für (a[x_] | b[y_]) nur einen eindeutigen Ausdruck geben, der entweder x oder y entspricht, aber nicht beiden. Deshalb können Sie zum Beispiel mit x und y nicht auf eindeutige Ausdrücke auf der rechten Seite einer Transformationsregel verweisen.

Hier wird f benutzt, um den Kopf, der entweder a oder b sein kann, zu benennen.

In[5]:= {a[2], b[3], c[4], a[5]} /. (f:(a|b))[x_] -> r[f, x]

Out[5]=

Setzen von Nebenbedingungen für MusterFlache und ungeordnete Funktionen