DMUG-Archiv 2009

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

Re: Gleiches reagiert nicht gleich

Hallo Carsten,

<snip> schön erläutert.

Besser als schön wäre fehlerfrei, denn es sollte heissen:
Part[pp, 1] = 1 ist gleichbedeutend mit pp = pp /. a -> 1

Warum aber , das sollte man vielleicht auch sagen, hat Set dieses Attribut ?

Set[] hat das Attribut HoldFirst, damit das Überschreiben des Wertes einer Variablen

In[35]:= o = 8
Out[35]= 8
In[36]:= o = 9
Out[36]= 9

ohne vorheriges Bereinigen der Variablen möglich ist:

In[42]:= Clear[myQuirkySet, o]
         myQuirkySet[x_, y_] := Set[Evaluate[x], y]
In[44]:= Attributes[myQuirkySet]
Out[44]= {}
In[45]:= myQuirkySet[o, 8]; o
Out[45]= 8

In[47]:= myQuirkySet[o, 9]
During evaluation of In[47]:= Set::setraw: Cannot assign to raw object 8.

Out[47]= 9
In[48]:= o
Out[48]= 8

In[49]:= myQuirkySet[Clear[o]; o, 9]
Out[49]= 9
In[50]:= o
Out[50]= 9

Gruss
Udo.





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

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