Mathematica 9 is now available

 Documentation /  Mathematica /  Das Mathematica Buch /  Die Prinzipien von Mathematica /  Modularität und die Benennung von Dingen /

Automatisches Laden von PaketenFortgeschrittenes Thema: Die Erzeugung neuer Symbole abfangen

2.6.12 Manipulation von Symbolen und Kontexten nach Namen

Wandlung zwischen Symbolen und ihren Namen

Hier ist das Symbol x.

In[1]:= x // InputForm

Out[1]//InputForm= x

Sein Name ist eine Zeichenkette.

In[2]:= SymbolName[x] // InputForm

Out[2]//InputForm= "x"

Dies liefert wieder das Symbol x.

In[3]:= Symbol["x"] // InputForm

Out[3]//InputForm= x

Sobald Sie eine Zuweisung wie x = 2 gemacht haben, wird x, wann immer es evaluiert wird, durch 2 ersetzt. Mitunter wollen Sie jedoch möglicherweise weiterhin auf x selber verweisen, ohne sofort den Wert von x zu erhalten.

Dies läßt sich mit einem namentlichen Verweis auf x erreichen. Der Name des Symbols x ist die Zeichenkette "x", und auch wenn x selber durch einen Wert ersetzt wird, wird die Zeichenkette "x" immer gleich bleiben.

Die Namen der Symbole x und xp sind die Zeichenketten "x" und "xp".

In[4]:= t = {SymbolName[x], SymbolName[xp]} // InputForm

Out[4]//InputForm= {"x", "xp"}

Dies weist x einen Wert zu.

In[5]:= x = 2

Out[5]=

Wann immer Sie x eingeben, wird es jetzt durch 2 ersetzt.

In[6]:= {x, xp} // InputForm

Out[6]//InputForm= {2, xp}

Der Name "x" wird davon jedoch nicht beeinflußt.

In[7]:= t // InputForm

Out[7]//InputForm= InputForm[{"x", "xp"}]

Verweis auf Symbole und Kontexte über den Namen

x und xp sind Symbole, die in dieser Mathematica-Session erzeugt worden sind; xpp wurde nicht erzeugt.

In[8]:= {NameQ["x"], NameQ["xp"], NameQ["xpp"]}

Out[8]=

Sie können die Form von Symbolnamen mit Zeichenkettenmustern, wie sie im Abschnitt 2.7.3 beschrieben werden, spezifizieren. "x*" steht zum Beispiel für alle Namen, die mit x beginnen.

Dies liefert eine Liste aller Symbolnamen in dieser Mathematica-Session, die mit x beginnen.

In[9]:= Names["x*"] // InputForm

Out[9]//InputForm= {"x", "xp"}

Diese Namen entsprechen eingebauten Mathematica-Funktionen.

In[10]:= Names["Qu*"] // InputForm

Out[10]//InputForm= {"Quartics", "QuasiMonteCarlo", "QuasiNewton", "Quit", "Quotient"}

Dies fragt nach Namen, die ähnlich zu WeierstrssP sind.

In[11]:= Names["WeierstrssP", SpellingCorrection->True]

Out[11]=

Namentliche Entfernung von Symbolen

Dies löscht die Werte aller Symbole, deren Namen mit x anfangen.

In[12]:= Clear["x*"]

Der Name "x" ist jedoch noch bekannt.

In[13]:= Names["x*"]

Out[13]=

Aber der Wert von x ist gelöscht worden.

In[14]:= {x, xp}

Out[14]=

Dies entfernt vollständig alle Symbole, deren Namen mit x anfangen.

In[15]:= Remove["x*"]

Nun ist nicht einmal mehr der Name "x" bekannt.

In[16]:= Names["x*"]

Out[16]=

Entfernen aller von Ihnen eingeführten Symbole

Wenn Sie keine weiteren zusätzlichen Kontexte einführen, dann werden alle von Ihnen in einer Mathematica-Session eingeführten Symbole im Global`-Kontext plaziert. Diese Symbole können mit Remove["Global`*"] vollständig entfernt werden. Da eingebaute Mathematica-Objekte sich im System`-Kontext befinden, bleiben sie deshalb davon unbeeinflußt.

Automatisches Laden von PaketenFortgeschrittenes Thema: Die Erzeugung neuer Symbole abfangen



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.