|
HoldPattern
HoldPattern[ausdr] ist für Mustererkennung äquivalent zu ausdr, bewahrt aber ausdr in einer nicht evaluierten Form.
HoldPattern hat das Attribut HoldAll.
Die linken Seiten von Regeln werden gewöhnlich evaluiert, das gleiche gilt für die Teile linker Seiten von Zuweisungen. Mit HoldPattern kann verhindert werden, daß irgendein Teil evaluiert wird.
Beispiel: ausdr /. HoldPattern[Integrate[y_, x_]] -> rs transformiert jeden Unterausdruck der Form Integrate[y_, x_] in ausdr. Ohne HoldPattern würde Integrate[y_, x_] in der Regel sofort evaluiert werden, und so x_ y_ ergeben, und die Ersetzung würde nicht funktionieren.
Beispiel: Mit f[HoldPattern[Integrate[y_, x_]]] := wert kann eine Zuweisung für Ausdrücke der Form f[Integrate[y\_, x\_]] erfolgen. Ohne HoldPattern würde die Funktion Integrate zum Zeitpunkt der Zuweisung evaluiert werden.
Siehe Das Mathematica Buch: 2.5.6.
Siehe auch: Hold, Verbatim.
Further Examples
|