foreach
Andrew Edwards via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jun 12 11:55:52 PDT 2014
On 6/12/14, 2:40 PM, Steven Schveighoffer wrote:
> On Thu, 12 Jun 2014 13:36:20 -0400, Ary Borenszweig
> <ary at esperanto.org.ar> wrote:
>
>> On 6/12/14, 2:11 PM, Steven Schveighoffer wrote:
>>> 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.
>>
>> The compiler needs a variable. The programmer doesn't.
>
> In response to both you and HS Teoh, so what? It's not hard to create a
> variable, just do it. This seems like the most insignificant time-saving
> feature that will really have almost no impact on anybody. It's not
> worth the risk it adds some bug to the compiler to add this feature.
>
> -Steve
Steven, there is not one thing that makes D great. There are many.
Dissected and viewed individually most people would regard the
insignificant: much like you are doing here. But the aggregated whole
that is D today, is a thing of beauty. And it wouldn't be that way were
it if not for these ostensibly trifling features.
While I do not see this as a showstopper for anyone, including, it
doesn't warrant such vehement attack. It is a convenience feature that
improves the overall experience of the D programmer. A plus in my mind
and worthy of the time required to discuss, agree upon a solution and
implement.
More information about the Digitalmars-d
mailing list