Comparing Multiple Values

Bill Baxter dnewsgroup at billbaxter.com
Tue Mar 11 04:11:59 PDT 2008


okibi wrote:
> I've looked all over the site but can't seem to find if D supports any kind of like IN statement for comparisons. For example, I can do the following in SQL:
> 
> select *
> from table
> where value in (1,2,3)
> 
> And it will compare it to 1, 2, and 3. Is this possible to do within D's if statement? I hate to go about it as such:
> 
> if (value == 1 || value == 2 || value == 3)
>     dosomething();
> 
> Just seems like this could be written better. Can anyone give me any pointers?

I can point you to a bunch of discussions where certain people argued 
tooth and nail that  "if(value in [1,2,3])" should mean 
"if(value==0||value==1||value==2)", leading basically to a stalemate. 
So, no.  Nothing like that is in the language.

But you can write a little "contains" function that will do the trick.

Or ask Downs how to make "if(x /In/ [1,2,3])" work.

--bb


More information about the Digitalmars-d-learn mailing list