Stewart Gordon Wrote:

> Jason House wrote:
> <snip>
> > That is unfortunately a rather sticky point.  The in operator does not 
> > return bool.  I think the lack of !in is to encourage writing of efficient 
> > code.  I'm not really sure though.
> 
> How, exactly, does not having !in make code efficient?
> 
> Stewart.

Consider the following code snippets:

Method 1:

if (x !in y)
  foo();
else{
  auto z = x in y;
  bar(z);
}

Method 2:

auto z = x in y;
if (z is null)
  foo;
else
  bar(z);

Method 1 essentially calls in twice while method 2 calls in once.

PS: Please don't assume that I'm advocating not having a !in operator. I'm just 
pointing out possible reasons it may have been avoided. 

Reply via email to