6 个稳定版本
1.1.4 | 2023年5月3日 |
---|---|
1.0.3 | 2023年4月8日 |
#922 in Rust 模式
用于 2 crate
58KB
780 行
Tuplify
一个实用库,它简化了元组作为泛型参数的使用。
有关功能实现和详细示例,请参阅单个 特质。
示例
元组
use tuplify::*;
assert_eq!((1, 2).push_back(3), (1, 2, 3));
assert_eq!((Some(1), Some(2), Some(3)).validate(), Some((1, 2, 3)));
assert_eq!((Some(1), Some(2), None::<i32>).validate(), None);
assert_eq!((1, 2).extend((3, 4)), (1, 2, 3, 4));
assert_eq!((1, 2, 3, 4).pop_back(), (4, (1, 2, 3)));
assert_eq!((1, 2, 3, 4).uncons(), (1, (2, 3, 4)));
异构列表
use tuplify::*;
assert_eq!(hcons![1, 2].push_back(3), hcons![1, 2, 3]);
assert_eq!(hcons![Some(1), Some(2), Some(3)].validate(), Some(hcons![1, 2, 3]));
assert_eq!(hcons![Ok(1), Ok(2), Err::<u32, _>("oh no")].validate(), Err("oh no"));
assert_eq!(hcons![1, 2].extend(hcons![3, 4]), hcons![1, 2, 3, 4]);
assert_eq!(hcons![1, 2, 3, 4].pop_back(), (4, hcons![1, 2, 3]));
assert_eq!(hcons![1, 2, 3, 4].uncons(), (1, hcons![2, 3, 4]));
贡献
发现了一个问题或有建议?请随意打开一个问题。