3 个不稳定版本

0.1.1 2020年8月15日
0.1.0 2020年8月15日
0.0.0 2020年8月15日

#15#composing

MIT/Apache

6KB
55

chainable-if

Crate Crate docs.rs

此crate提供if_chain!宏,这是一个用于编写长链if-else if-else语句的宏。

它旨在提供一种替代使用match编写if链的方法,例如

match () {
    _ if some_condition => ...,
    _ if some_other_condition => ...,
    _ if some_third_condition => ...,
    _ => ...,
}

示例用法

尽管主要用于长链,但if_chain!也可以用于简单的if-else情况,例如

if_chain! {
| some_condition => (/* some_condition is true */),
| _ => (/* the else branch */)
}

前面的match示例可以重写为

if_chain! {
| some_condition => ...,
| some_other_condition => ...,
| some_third_condition => ...,
}

请注意,不需要else分支,因为if_chain!只是简单地展开为

if some_condition {
    ...
} else if some_other_condition }
    ...
} else if some_third_condition {
    ...
}

无运行时依赖