If Statement with Declaration

ag0aep6g via Digitalmars-d digitalmars-d at puremagic.com
Wed Jul 19 08:31:08 PDT 2017


On 07/19/2017 03:30 PM, sontung wrote:
> So I was thinking of some sort of syntax like this:
> 
>      if(int i = someFunc(); i >= 0)
>      {
>          // use i
>      }
> Thoughts on this sort of feature?

I'd prefer a new variant of `with`:

----
with (int i = someFunc()) if (i >= 0)
{
     // use i
}
----

It's slightly more verbose, but the meaning is clearer (arguable). It 
extends automatically to other control structures like `switch`.

I wouldn't have this new `with (declaration)` have the magic lookup 
rules of the existing `with (expression)`. It would be a simpler tool 
that I'd probably use more than the existing `with`.


More information about the Digitalmars-d mailing list