2 个版本
0.1.1 | 2023 年 3 月 20 日 |
---|---|
0.1.0 | 2023 年 3 月 20 日 |
#96 in #tuple
每月 26 次下载
用于 currycompose
8KB
66 行
此 crate 是 tupleops crate 的扩展,它添加了一个按索引分割元组的特质。
lib.rs
:
此 crate 是 tupleops crate 的扩展,它添加了一个按索引分割元组的特质。
可能在中间索引 MIDDLE 分割的元组具有 TupleSplit 特质,分割时返回 (TupleSplit::Left, TupleSplit::Right)。
类型别名 Left 和 Right 分别等于 TupleSplit::Left 和 TupleSplit::Right,适用于任何在给定 MIDDLE 实现 TupleSplit 的元组。
对于任何可能分割且 TupleSplit::Left = L 的元组,实现了特质别名 SplitLeftInto。
对于任何可能分割且 TupleSplit::Right = R 的元组,实现了特质别名 SplitRightInto。
对于任何可能分割且 TupleSplit::Left = L 和 TupleSplit::Right = R 的元组,实现了特质别名 SplitInto。
use tupleops::concat_tuples;
use tuple_split::*;
let t: (u8, f32, &str) = (1, 1.0, "test");
let (l, r): ((u8, f32), (&str,)) = TupleSplit::<2>::split_tuple(t);
assert_eq!(t, concat_tuples(l, r));
let (l, r): ((u8, f32), (&str,)) = split_tuple::<2, _>(t);
assert_eq!(t, concat_tuples(l, r));
依赖
~1.5MB
~35K SLoC