25 个稳定版本
| 2.3.1 | 2020 年 12 月 18 日 | 
|---|---|
| 2.2.0 | 2020 年 11 月 25 日 | 
| 1.13.0 | 2020 年 11 月 5 日 | 
| 1.11.1 | 2020 年 7 月 11 日 | 
#1626 在 Rust 模式
每月 117 次下载
45KB
640 代码行
batch_oper
重命名为 libsugar
batch_oper 为某些操作提供了一些批量操作宏
请参阅 https://docs.rs/batch_oper/
这里仅作简要介绍
用法
- 基本
- batch ||
 等同于bop!(|| 4; == 2, > 3);4 == 2 || 4 > 3
- batch &&
 等同于bop!(&& 4; == 2, > 3);4 == 2 && 4 > 3
- !
 等同于- bop!(|| a; == 1;!, == 2);- 1 == a || a == 2
- 批量操作
 等同于bop!(&& 5; > ; 2, 3, 6;!);5 > 2 && 5 > 3 && 6 > 5
 
- batch 
- 设置
 等同于let mut a = 1; bop!(= a; + 1, - 2;!, * 3);let mut a = 1; a = a + 1; a = 2 - a; a = a * 3;
- 让
 等同于bop! { let a|u8 = 1, mut b = 2 }let a: u8 = 1; let mut b = 2;
- 链式让
- 基本
 等同于let a = Some(1); let b = Some(2); let _: i32 = bop!(match && Some(va) = a, Some(vb) = b => { 1 } else { 2 });let a = Some(1); let b = Some(2); let _: i32 = loop { if let Some(va) = a { if let Some(vb) = b { break { 1 }; } } break { 2 }; };
- 布尔值
 等同于- let _: bool = bop!(bool match && Some(va) = a, Some(vb) = b => { 1 } else { 2 });- let _: bool = loop { if let Some(va) = a { if let Some(vb) = b { { 1 }; break true; } } { 2 }; break false; };
- !循环
 等同于- let _: i32 = bop!(!loop match && Some(va) = a, Some(vb) = b => { 1 } else { 2 });- let _: i32 = if let Some(va) = a { if let Some(vb) = b { { 1 } } else { { 2 } } } else { { 2 } }
- !循环 布尔值
 等同于- let _: bool = bop!(!loop bool match && Some(va) = a, Some(vb) = b => { 1 } else { 2 });- let _: bool = if let Some(va) = a { if let Some(vb) = b { { 1 }; true } else { { 2 }; false } } else { { 2 }; false }
 
- 基本
- 在
 等同于let r = 0..5; let c = bop!(&1, &2 => in && r);let r = 0..5; let c = r.contains(&1) && r.contains(&2);- ||
 等同于- let c = bop!(&1, &2 => in || r);- let c = r.contains(&1) || r.contains(&2);
- 自定义函数名
 等同于let c = bop!(has; &1, &2 => in && r);let c = r.has(&1) && r.has(&2);
 
- 使用
 等同于- let v = (1, 2); let v2 = (3, 4); using!((a, b) = v, (c, d) = v2; { println!("{} {} {} {}", a, b, c, d) })- let v = (1, 2); let v2 = (3, 4); { let (a, b) = v; let (c, d) = v2; { println!("{} {} {} {}", a, b, c, d) } }
依赖
~5MB
~70K SLoC