5 个版本 (重大更新)
使用旧的 Rust 2015
0.4.0 | 2018 年 5 月 11 日 |
---|---|
0.3.0 | 2018 年 4 月 17 日 |
0.2.0 | 2018 年 4 月 7 日 |
0.1.0 | 2018 年 3 月 18 日 |
0.0.1 | 2018 年 3 月 11 日 |
#2726 在 Rust 模式
687 每月下载量
在 3 crates 中使用
27KB
548 行
tuple-map
此库为所有元素类型相同的元组(即 (T, T), (T, T, T), (T, T, T, T)...
)提供类似迭代器的实用方法,如 map
、fold
、for_each
等。
示例
extern crate tuple_map;
use tuple_map::*;
fn main() {
let (x, y) = (3, 4);
let (x, y) = (x, y).map(|a| a + 5);
assert_eq!(x, 8);
assert_eq!(y, 9);
let v = (3, 4, 5, 6).fold(vec![], |mut v, x| {
if x % 3 == 0 {
v.push(x);
}
v
});
assert_eq!(v, vec![3, 6]);
assert!((3, 3, 3).same());
assert_eq!((3, 4, 5).nth(1), Some(4));
assert_eq!((3, 4, 5).add(1, 2, 3), (4, 6, 8));
let a = (1, 2, 3);
let b = ("a", "b", "c");
assert_eq!(
a.zipf(b, |x, y| format!("{}{}", x, y)),
("1a", "2b", "3c").map(|x| x.to_owned())
);
assert_eq!(a.sum(), 6);
assert_eq!(a.tmax(), 3);
assert_eq!(a.tmin(), 1);
}