Comparing Multiple Values

okibi spam at ratedo.com
Tue Mar 11 05:03:25 PDT 2008


Frank Benoit Wrote:

> okibi schrieb:
> > 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?
> > 
> > Thanks!
> 
> *untested*
> 
> bool isOneOf(T)( T value, T[] compares ... ){
> 	foreach( c; compares ){
> 		if( value == c ) return true;
> 	}
> 	return false;
> }
> if ( isOneOf( value, 1, 2, 3 ))
>      dosomething();

This is what I was looking for, thanks!

Is there any chance of the in [] method getting into D or is it a definite no?


More information about the Digitalmars-d-learn mailing list