Re: How can I use multiple filename ?
- To: mathgroup at smc.vnet.net
- Subject: [mg67022] Re: How can I use multiple filename ?
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Wed, 7 Jun 2006 05:09:38 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <e63mff$knj$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
bar at ANTYSPAM.ap.krakow.pl wrote:
> Hi ,
> When I try :
> For[i=1,i<10,
> name="a"<>ToString[i];
> i>>name;
> i++];
>
> it doesn'w work
>
> Could You help me ?
>
It works indeed; although not in the way you may have expected: the
symbol "name" is not evaluated to its value; therefore Mathematica
writes in a file called "name" rather than "a1", or "a2", etc.
In[1]:=
For[i = 1, i < 10, name = StringJoin["a", ToString[i]]; i >> "name"; i++];
In[2]:=
!!a1
From In[2]:=
General::noopen : Cannot open a1. More...
In[3]:=
!!name
From In[3]:=
9
The following expressions will do what you want.
In[4]:=
Clear[a, b, c]
In[5]:=
For[i = 1, i < 10, name = StringJoin["a", ToString[i]];
Put[i + a, Evaluate[name]]; i++];
In[6]:=
!!a1
From In[6]:=
1 + a
In[7]:=
For[i = 1, i < 10, Put[i + b, Evaluate[StringJoin["a", ToString[i]]]];
i++];
In[8]:=
!!a5
From In[8]:=
5 + b
This one is even more C-like:
In[9]:=
For[i = 1, i < 10, Put[i + c, Evaluate[StringJoin["a", ToString[i++]]]]; ];
In[10]:=
!!a9
From In[10]:=
9 + c
Best regards,
Jean-Marc