2 unstable releases

0.2.0 Apr 29, 2023
0.1.0 Apr 28, 2023

#8 in #c-like


Used in heapswap

Unlicense

5KB
51 lines

Github.com/KaitlynEthylia/terny Crates.io/crates/terny Unlicense Docs.rs/terny

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.

Usage


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.

No runtime deps