Re: Zero-based indexing option?
- To: mathgroup at smc.vnet.net
- Subject: [mg61720] Re: Zero-based indexing option?
- From: "Kevin J. McCann" <kjm at KevinMcCann.com>
- Date: Thu, 27 Oct 2005 05:01:50 -0400 (EDT)
- References: <djhssu$sio$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
How about something like this:
A={1,2,3,4,5};
a-sub-i_ := A[[i-1]]
where "-sub-i_" is a subscripted i_ (don't forget the underscore).
This is not totally satisfactory, and you would need to actually keep
two variables in play, but it works.
Kevin
Matt wrote:
> Hello,
> I am a C/C++ developer by trade and zero-based indexing is the norm.
> When dealing with a set of objects, if I want to iterate over all of
> them for some reason or another, I'm used to doing something like this:
>
> unsigned int ii(0);
> while (ii < elementCount)
> {
> // do something
> ++ii;
> }
>
> where elementCount represents the number of elements in a set of
> objects. In Mathematica, I'm getting into the habit of doing something
> like this:
>
> iterations = Length[(* of something *)] ;
> iterations++;
> ii = 1;
> While[ii < iterations, (* do something *); ii++]
>
> As you can see, I need to initialize my iterator to 1 and in order to
> keep strictly 'less than' semantics, I need to increase the size of my
> object set by one. This is not a big deal, and if I have no other
> choice, I'll probably settle for setting the iterator to one and using
> 'less than or equal' semantics for the loop constraint so I'm not
> altering the size of the object set.
>
> However, it would be great if there were a Mathematica option or code
> driven setting that would allow me to use zero-based indexing. Is
> there such a thing?
>
> Thanks,
>
> Matt
>