Re: Symbol name extraction

*To*: mathgroup at smc.vnet.net*Subject*: [mg73791] Re: Symbol name extraction*From*: albert <awnl at arcor.de>*Date*: Wed, 28 Feb 2007 04:39:52 -0500 (EST)*References*: <errlbu$83p$1@smc.vnet.net><erug0d$sm6$1@smc.vnet.net> <es11sh$n54$1@smc.vnet.net>

Hi, > I was quite aware of the method using HoldAll attributes, but I wanted > only 1 function, and not two or three that subsequently call each > other. For this reason, I'm using Albert's solution that seems to be > pretty simple and compact, aside for the branching. You can avoid the branching by using a pure function like this: SetAttributes[printSymbol,HoldAll]; printSymbol[vars_List]:=StringJoin[Map[ Function[ {var}, SymbolName[Unevaluated[var]]<>"="<>ToString[var,InputForm]<>";\n", HoldAll ], Unevaluated[vars] ]]; > Is there a more clearcut way? note that the construction with Unevaluated[vars] which I copied from David Bailey's version is shorter and probably more clearcut than my original ReleaseHold + Hold construct. Still I wouldn't consider the whole function as "clearcut" :-) hth, albert