MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

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
> 


  • Prev by Date: Re: Running the kernel command line with additional input files
  • Next by Date: Mathematica and version control systems
  • Previous by thread: Re: Zero-based indexing option?
  • Next by thread: mathcode