Array start index

Observer via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Aug 3 13:46:57 PDT 2015


On Saturday, 1 August 2015 at 09:35:53 UTC, DLearner wrote:
> Does the D language set in stone that the first element of an 
> array _has_ to be index zero?
> Wouldn't starting array elements at one avoid the common 
> 'off-by-one' logic error, it does
> seem more natural to begin a count at 1.
>
> Actually, maybe even better to allow array definitions of form
> int foo[x:y];
> (y >= x) creating integer variables foo[x], foo[x+1],...,foo[y].

This experiment has already been run.  Perl used to support a $[ 
variable to set the array base.  After experience with the 
confusion and problems that causes, it was finally deprecated and 
effectively removed from the language.  See the end paragraphs of 
http://perldoc.perl.org/perlvar.html and also
http://search.cpan.org/~wolfsage/perl/ext/arybase/arybase.pm for 
more info.


More information about the Digitalmars-d-learn mailing list