boolean over multiple variables
Simen kjaeraas
simen.kjaras at gmail.com
Fri Jan 22 15:21:16 PST 2010
On Fri, 22 Jan 2010 22:55:45 +0100, strtr <strtr at spam.com> wrote:
> This may be is a very basic question, but is there a way to let me omit
> a repeating variable when doing multiple boolean operations?
>
> if ( var == a || var == b || var == c || var == d)
> if ( var == (a || b || c || d) )
bool anySame( T, U... )( T arg1, U args ) {
foreach ( arg; args ) {
if ( arg1 == arg ) {
return true;
}
}
return false;
}
bool allSame( T, U... )( T arg1, U args ) {
foreach ( arg; args ) {
if ( arg1 != arg ) {
return false;
}
}
return true;
}
Not tested, but they should work:
if ( anySame( var, a, b, c, d ) ) {
}
if ( allSame( var, a, b, c, d ) ) {
}
--
Simen
More information about the Digitalmars-d-learn
mailing list