foreach/iota countdown

simendsjo simendsjo at gmail.com
Mon Feb 17 11:33:45 PST 2014


On Monday, 17 February 2014 at 19:30:38 UTC, Timon Gehr wrote:
> On 02/17/2014 08:22 PM, simendsjo wrote:
>> Should the following two uses be a compile-time error?
>>   foreach(i; 10 .. 0) // Never executes
>>
>>   foreach(i; iota(10, 0)) // .. neither does this
>>
>> I would like the second to either be a compile-time error or
>> automagically use a negative step.
>>
>> So we need to use a negative step in iota() or use a for loop
>>   foreach(i; iota(10, 0, -1)) // as expected
>
> The parameters can be runtime values. Auto-magically using a 
> negative step would hence be a bad idea.

Why would it be a bad idea? And I don't see where the runtime 
aspect comes in.
There would be a very small setup performance hit when using 
runtime variables for choosing the step direction.


More information about the Digitalmars-d-learn mailing list