On Thu, 12 Jun 2014 11:00:11 -0400, Manu via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

I often find myself wanting to write this:
  foreach(; 0..n) {}
In the case that I just want to do something n times and I don't
actually care about the loop counter, but this doesn't compile.

The compiler has to assign a variable to this somehow so it can increment and test. Naming it isn't the worst thing in the world. As others have said, pick an uncommon name.


You can do this:
  for(;;) {}

If 'for' lets you omit any of the loop terms, surely it makes sense
that foreach would allow you to omit the first term as well?
I see no need to declare a superfluous loop counter when it is unused.

But that doesn't increment a variable and test it. If you wanted to loop for N times, you need a variable. You have to give it a name, it doesn't seem worth adding a feature to save that little bit of thinking.

The thing about it is, you don't need to type more than is necessary:

foreach(L1; 0..n) {
   foreach(L2; 0..n) {
   }
}

Doesn't seem that bad to me.

-Steve

Reply via email to