Re: Modify variable names in a loop
- To: mathgroup at smc.vnet.net
- Subject: [mg101779] Re: [mg101744] Modify variable names in a loop
- From: Oliver Ruebenkoenig <ruebenko at wolfram.com>
- Date: Fri, 17 Jul 2009 05:01:27 -0400 (EDT)
- References: <200907161215.IAA02231@smc.vnet.net>
On Thu, 16 Jul 2009, Parita wrote: > Hi > > I would like to modify the variable name in a loop and assign values > to the variable. > > For[kk = 1, kk <= 3, kk++, > "output" <> ToString[Evaluate[kk]] = {kk,kk+1,kk+2}; > ]; > > I would like the following output > output1={1,2,3} > output2={2,3,4} > output3={3,4,5} > > Although, "output" <> ToString[Evaluate[kk]] evaluates as expected, it > does not let me assign values. Am I missing something here? > > Thanks in advance for your help > > Hi, you have to convert the "output1" String to an expression and since Set has attributes HoldFirst you need to enforce evaluation like here: For[kk = 1, kk <= 3, kk++, Evaluate[ToExpression["output" <> ToString[Evaluate[kk]]]] = {kk, kk + 1, kk + 2}; ]; Does this help? Oliver
- References:
- Modify variable names in a loop
- From: Parita <parita.patel@gmail.com>
- Modify variable names in a loop