Re: Keeping track of variables used in Mathematica

*To*: mathgroup at smc.vnet.net*Subject*: [mg122944] Re: Keeping track of variables used in Mathematica*From*: David Bailey <dave at removedbailey.co.uk>*Date*: Thu, 17 Nov 2011 07:02:47 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <ja00p0$61k$1@smc.vnet.net>

On 16/11/2011 09:46, Dana DeLouis wrote: > > There was a suggestion for $NewSymbol, but I had mixed results. I made that suggestion > Did you or anyone else get this idea to work. Here's what I mean. > At the top of a third workbook, the best I came up with is the following: > > NewNames={}; > $NewSymbol=AppendTo[NewNames,#1]&; You could try: If[! ValueQ[NewNames],NewNames={}] This will only set it once, even if you re-evaluate the notebook. (BTW, you really should avoid fully capitalised names like NewNames - such names are reserved for future Wolfram functions). I would also restrict the collection to global symbols: $NewSymbol=If[#2=="Global`",AppendTo[NewNames,#1]]&; > > d=3; > e=Range[4]; > > (* Global has everything *) > > Names["Global`*"] > {a,b,c,d,e,NewNames} > > (* But NewNames just had d& e, which seems like what we want *) I am wondering if the other symbols were spuriously added by some packages that get loaded in your environment. I usually pre-load some packages, but on a bare mathematica, the Global context appears to be empty. > Extracting the names from the BoxForm in a notebook doesn't seem very useful to me - because it doesn't pick up the context of symbols with an implicit context. David Bailey http://www.dbaileyconsultancy.co.uk