Documentation
  • Coverage
  • 100%
    2 out of 2 items documented0 out of 0 items with examples
  • Size
  • Source code size: 15.01 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 501.3 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • IovoslavIovchev

chainable-if

Crate Crate docs.rs

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 {
    ...
}