A simple ternary operator macro in rust. the iff!
macro is the only item exported by this crate, it simply takes three expressions, seperated by ?
and :
, and expands them info an if else statement.
iff!( condition
? expressionA
: expressionB );
expands to:
if condition {
expressionA
} else {
expressionB
}
It can also be used in assignment:
let value = iff!(condition
? expressionA
: expressionB );
It can also be used inline:
let value = iff!(condition ? exressionA : expressionB);
It may also be nested, although the code starts to look less clean at this point
let value = iff!(conditionA ? iff!(conditionB ? expressionA : expressionB) : expressionC);
Currently using the ?
operator within iff
is not possible, as there is no way (that I know of) to check for whitespace. This should be changeable once Tracking issue 54725 becomes stable.