macro_rules! asserts {
{
$($left:expr => $right:expr $(,)?)*
} => { ... };
{
$($left:expr => @ $right:pat $(,)?)*
} => { ... };
{
$($assertion:expr $(,)?)*
} => { ... };
{} => { ... };
{
$($assertion:expr)*,
$($tail:tt)*
} => { ... };
{
$($left:expr => $right:expr)*,
$($tail:tt)*
} => { ... };
}Expand description
用于简化「连续判断相等」的宏
- 🎯用于统一
- ⚠️缺点:不易定位断言出错的位置(需要靠断言的表达式定位)
- 🚩模型:标记树撕咬机
§用例
use nar_dev_utils::asserts;
asserts! {
1 + 1 > 1, // 判真
1 + 1 => 2, // 判等
1 + 1 < 3 // 连续
1 + 2 < 4, // 判真(与「判等」表达式之间,需要逗号分隔)
1 + 2 => 3 // 连续
2 + 2 => 4 // 判等(其间无需逗号分隔)
}