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/