On 2011-04-28 21:46, Timon Gehr wrote:
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
This has been discussed many times before and the general argument
against it is that "in" is available for associative arrays and it tests
for keys. With arrays it would test for values.
--
/Jacob Carlborg