DMUG-Archiv 2003

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: AW: Deaktivieren eines geladenen Packages

> Remove["DiscreteMath`Combinatorica`*"]
> 
> aus. Mathematica liefert dann einige Meldungen über geschützte Symbole.
> Danach möchte ich dem Symbol V den Wert 5 zuweisen
> 
> V = 5
> 
> Ich erhalte die Meldung
> 
> Set::wrsym : Symbol V is Protected.

Die Symbole sind zwar gelöscht, der ContextPath enthält aber
nach wie vor noch alles, was DiscreteMath`Combinatorica` hinzugefügt
hat.  Daher wird V nicht im Context Global` gesucht und ist noch 
Protected.

Nun lädt Combinatorica nicht nur sich selbst, sondern noch einen
Haufen anderer Packages, daher kann man nicht einfach $ContextPath = 
Rest[$ContextPath] sagen.  Wenn Combinatorica das einzige geladene
Package ist, tut's ein $ContextPath = {"Global`", "System`"}.  Am
besten aber $ContextPath vor dem Laden von Combinatorica in einer 
Variablen speichern und am Ende wiederherstellen.

Wenn's einem nicht um Speicherplatz geht, wäre die Wiederherstellung
des $ContextPath vermutlich sogar ausreichend, um Konflikte im
Weiteren zu vermeiden (d.h. das Remove wäre unnötig).

Gruß,

Thomas Hahn


Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html