foreach
Steven Schveighoffer via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jun 12 10:11:12 PDT 2014
On Thu, 12 Jun 2014 11:00:11 -0400, Manu via Digitalmars-d
<digitalmars-d at 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
More information about the Digitalmars-d
mailing list