Re: Newbie Programming question

• To: mathgroup at smc.vnet.net
• Subject: [mg53438] Re: Newbie Programming question
• From: "John Jowett" <John.Jowett at cern.ch>
• Date: Wed, 12 Jan 2005 03:41:08 -0500 (EST)
• Organization: CERN
• References: <crvtn6\$144\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```"Kerry Kim" <kjkim at u.washington.edu> wrote in message
news:crvtn6\$144\$1 at smc.vnet.net...
> Hello,
>
> Is there any way in Mathematica to store/assign a value to a variable
> whose name is in a string?  In other words something like this:
>
> i = 17;
> foo="var" + ToString[i];
> SomeFunctionThatConvertsStringToSymbolName[foo] = 17;
>
> and then assign some value (say, 23) to the variable whose name is
> contained in the foo string? (i.e. var17=23)
>
> Thanks!
>

One possibility using StringJoin (StringJoin["a","b"} is also written as
"a"<>"b"):

i=17;
foo = "var" <> ToString[i];
ToExpression[foo <> "=23"]

Since you describe yourself as a "newbie", perhaps you will not mind my
suggesting an alternative approach. I remember that when I came to
Mathematica from other programming languages, I often wanted to do the same
sort of thing.

Now I would find it more natural (and simpler) to define a function to store
this information:

i=17;
var[i]=23

Note that this defines the value of the function for a particular argument
(17) because I did not write var[i_].
Also note that var is not a list (there is no need to define var[1], say).

And of course it may be convenient to use non-integer arguments, e.g.,

var["North"]=29

To find out what var contains, type

??var

John Jowett

```

• Prev by Date: Re: Newbie Programming question
• Next by Date: Re: mathematica installation problem
• Previous by thread: Re: Newbie Programming question
• Next by thread: Re: Newbie Programming question