www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - generate unique variable names?

reply "K.K." <trampzy yahoo.com> writes:
Is there a way to generate variable names using strings? What I'm
trying to do in this particular case is use a for loop, to
generate variables (then probably put them in an array in the
end) that represent images. So the name is pretty much "image" +
the image padding + iterator number. So image001, image002, etc.

So visually (though not real syntax):
auto "imageName" ~ "imagePadding" ~ i = new 
Imagefromfile(userDefinedLocation);

The problem is I can't figure out how to actually create the
unique variable.  I was thinking of trying to use 'new' some how,
but still not sure.

Thanks in advance for any help!
Oct 07 2014
parent reply "Brian Schott" <briancschott gmail.com> writes:
On Wednesday, 8 October 2014 at 01:16:50 UTC, K.K. wrote:
 Is there a way to generate variable names using strings? What 
 I'm
 trying to do in this particular case is use a for loop, to
 generate variables (then probably put them in an array in the
 end) that represent images. So the name is pretty much "image" +
 the image padding + iterator number. So image001, image002, etc.

 So visually (though not real syntax):
 auto "imageName" ~ "imagePadding" ~ i = new 
 Imagefromfile(userDefinedLocation);

 The problem is I can't figure out how to actually create the
 unique variable.  I was thinking of trying to use 'new' some 
 how,
 but still not sure.

 Thanks in advance for any help!
I'm 99% sure you actually want an array or associative array. Something like this maybe? ImageType[string] images; images[format("image%03d", i)] = new ImagefromFile(userDefinedLocation);
Oct 07 2014
parent reply "K.K." <trampzy yahoo.com> writes:
On Wednesday, 8 October 2014 at 02:06:28 UTC, Brian Schott wrote:
 I'm 99% sure you actually want an array or associative array. 
 Something like this maybe?

 ImageType[string] images;
 images[format("image%03d", i)] = new 
 ImagefromFile(userDefinedLocation);
oooh okay I see what you mean. Yeah that will be waaaay better. It'll help me get rid of all my extra temp variables and string/int conversions, too. Thanks! :)
Oct 07 2014
parent "Nicolas F." <ddev fratti.ch> writes:
On Wednesday, 8 October 2014 at 02:53:08 UTC, K.K. wrote:
 On Wednesday, 8 October 2014 at 02:06:28 UTC, Brian Schott 
 wrote:
 I'm 99% sure you actually want an array or associative array. 
 Something like this maybe?

 ImageType[string] images;
 images[format("image%03d", i)] = new 
 ImagefromFile(userDefinedLocation);
oooh okay I see what you mean. Yeah that will be waaaay better. It'll help me get rid of all my extra temp variables and string/int conversions, too. Thanks! :)
Since you're actually already using indexes in the name, you might as well use a regular array of the appropriate size
Oct 08 2014