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 /  Modularität und die Benennung von Dingen /

Manipulation von Symbolen und Kontexten nach NamenInhalt

2.6.13 Fortgeschrittenes Thema: Die Erzeugung neuer Symbole abfangen

Mathematica erzeugt ein neues Symbol, wenn Sie einen bestimmten Namen zum ersten Mal eingeben. Manchmal ist es nützlich, den Erzeugungsprozeß eines neuen Symbols „abzufangen". Mathematica unterstützt verschiedene Ansätze dafür.

Drucken einer Meldung, wenn neue Symbole erzeugt werden

Dies weist Mathematica an, immer dann eine Meldung zu drucken, wenn ein neues Symbol erzeugt wird.

In[1]:= On[General::newsym]

Mathematica druckt jetzt für jedes neu erzeugte Symbol eine Meldung.

In[2]:= sin[k]

Out[2]=

Dies schaltet die Meldung ab.

In[3]:= Off[General::newsym]

Eine Meldung zu drucken, wenn Mathematica ein neues Symbol erzeugt, ist oft ein guter Weg, Tippfehler zu entdecken. Mathematica kann den Unterschied zwischen einem absichtlich neuen Namen und der Fehlbuchstabierung eines bekannten Namens nicht erkennen. Dadurch, daß Mathematica alle vorgefundenen neuen Namen ausdruckt, ermöglicht es Ihnen, zu sehen, welche fehlerhaft sind.

Ausführung von Operationen, wenn neue Symbole erzeugt werden

Wenn Mathematica ein neues Symbol erzeugt, so möchten Sie vielleicht, daß es nicht nur eine Meldung druckt, sondern stattdessen eine andere Aktion ausführt. Eine Funktion, die Sie als Wert der globalen Variablen $NewSymbol spezifizieren, wird automatisch auf Zeichenketten angewendet, die den Namen und Kontext eines durch Mathematica erzeugten neuen Symbols angeben.

Dies definiert eine Funktion, die auf jedes neu erzeugte Symbol angewendet wird.

In[4]:= $NewSymbol = Print["Name: ", #1, " Kontext: ", #2]&

Out[4]=

Die Funktion wird einmal auf v und einmal auf w angewendet.

In[5]:= v + w

Out[5]=

Manipulation von Symbolen und Kontexten nach NamenInhalt