On 04/10/2012 11:33 AM, Andrej Mitrovic wrote:
On 4/9/12, Kevin Cox<kevincox...@gmail.com>  wrote:
The
reason I aski is because if you have a return statement inside a foreach it
returns from the outside function not the "closure".

I don't like this subtle thing. For example let's say a newbie were to
implement a function called "isDirEmpty". The first hint is to try to
walk the directory iteratively and return as soon as there's a match,
e.g.:

bool isEmptyDir(string path)
{
     foreach (_; dirEntries(path, SpanMode.shallow))
         return false;

     return true;
}

isEmptyDir never returns false.

Yes it does.

All that false statement does is break
out of the foreach loop.


??? No, it returns false from isEmptyDir, unless the opApply implementation abuses operator overloading.

Reply via email to