Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> In other languages at that time the for loop was written in terms of a range, but without a strong range abstraction such loop is really primitive and limited in applicability.

That's a good thing: it gives you a clear syntactic marker for "this loop definitely terminates". There's already a full power anything-goes looping construct: `while`.



But `while` doesn't restrict the scope of the variable(s) to just the loop. I believe there was a proposal to add

    while(int i = 0; i < 100) { ... }
as a valid syntax to C++ (which would restrict the scope of i to the loop), as you can already do

    if(int i = f(); i > 0) { ... }
but it didn't go anywhere.


I'd just use a for with an empty update clause for that:

    for (int i = 0; i < 100; ) { ... }




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: