Andrei Alexandrescu wrote: > On 4/28/11 11:00 AM, Alexander wrote: >> On 28.04.2011 17:46, Andrej Mitrovic wrote: >> >>> It works, but it makes the if statement ugly again. :) >> >> Well, just a bit - still much better than (var == "..." || var = "..." >|| var == "..." ...), don't you think so? ;) >> >> If compiler would support special "in" usage, automatically expanding >>values on the right to series of comparisons (like "var in [1,2,3,4,5]"), >>it would be really nice, of course :) > > That was discussed, too. Walter and I support that although it's a > special case. We didn't get around to talk the purist police into > accepting it. > > Andrei
Why is this a special case? The 'in' could be extended operator to generally work on arrays (using a simple linear search). The compiler could then optimize the given expression the way suggested (actually even to 1<=var&&var<=5). Why is 'in' not currently defined on arrays? To me it seems like a left-out that should be fixed, because it has quite obvious and useful semantics. Timon