3 unstable releases
0.1.1 | Aug 15, 2020 |
---|---|
0.1.0 | Aug 15, 2020 |
0.0.0 | Aug 15, 2020 |
#15 in #composing
6KB
55 lines
chainable-if
This crate provides the if_chain!
macro -- a macro for composing
long chains of if-else if-else statements.
It is intended to provide an alternative to writing if chains with match
,
such as:
match () {
_ if some_condition => ...,
_ if some_other_condition => ...,
_ if some_third_condition => ...,
_ => ...,
}
Example usage
While it is mainly intended for long chains, if_chain!
can be used
for simple if-else situations, such as:
if_chain! {
| some_condition => (/* some_condition is true */),
| _ => (/* the else branch */)
}
The earlier match
example can be rewritten as:
if_chain! {
| some_condition => ...,
| some_other_condition => ...,
| some_third_condition => ...,
}
Note that the else
branch is not required, since if_chain!
simply gets
expanded into:
if some_condition {
...
} else if some_other_condition }
...
} else if some_third_condition {
...
}