DMUG-Archiv 2007

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

Re: Aufgabe::Locked wertfrei

Liebe Freundinnen und Freunde des Müssiggangs,

wohl nix sinnvolles zu tun, so zwischen Weihnachten und Silvester ??

Gut erkannt.

Last /@ Cases[(# ==
      ReleaseHold[#]) & /@ (ToExpression[#, StandardForm, Hold] & /@
     Select[Names["*"], (Attributes @@
          ToExpression[#, StandardForm, Hold]) === {Locked,
         Protected} &]), Hold[a_] == a_]

oder

{Fail, False, List, Symbol, TooBig, True, $Aborted, $Off, $PrintLiteral}

Das hier verwendete Konstrukt

Select[Names["*"], (Attributes @@
          ToExpression[#, StandardForm, Hold]) === {Locked,
         Protected} &]

bringt unter Mma 6.0.1 eine

ToExpression::sntx: Invalid syntax in or before ...

message. Ich hatte

In[2]:= ((ToString /@ Flatten[ToExpression /@ #]) \[Intersection] #)&[
          Select[Flatten[Names["*"]], MemberQ[Attributes[#], Locked]&]]
Out[2]= {Fail,False,I,List,Symbol,TooBig,True,$Aborted,$Off,$PrintLiteral}

als Lösung vorgesehen, aber Jens-Peer sagt

Und im Übrigen *hat* das Symbol I einen Wert nämlich Sqrt[-1] oder Complex[0,1]

und da FullForm[I] in der Tat zu Complex[0, 1] evaluiert, kann man trotz

In[5]:= Evaluate[I] == I && Evaluate[I] === I
Out[5]= True

sagen, dass I in Mma als Symbol einen Wert hat, und deshalb ist die Lösung:

In[6]:=
((ToString /@ Flatten[FullForm /@ ToExpression /@ #]) \[Intersection] #)&[
Select[Flatten[Names["*"]], MemberQ[Attributes[#], Locked]&]]

Out[6]= {Fail,False,List,Symbol,TooBig,True,$Aborted,$Off,$PrintLiteral}

Mit den besten Grüssen und Wünschen an alle für 2008
Udo.

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


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

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