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 日

#2726Rust 模式

Download history 467/week @ 2024-03-25 285/week @ 2024-04-01 213/week @ 2024-04-08 170/week @ 2024-04-15 194/week @ 2024-04-22 143/week @ 2024-04-29 113/week @ 2024-05-06 220/week @ 2024-05-13 314/week @ 2024-05-20 461/week @ 2024-05-27 420/week @ 2024-06-03 229/week @ 2024-06-10 241/week @ 2024-06-17 137/week @ 2024-06-24 203/week @ 2024-07-01 95/week @ 2024-07-08

687 每月下载量
3 crates 中使用

MIT 许可证

27KB
548

tuple-map

Build Status Documentation License: MIT

此库为所有元素类型相同的元组(即 (T, T), (T, T, T), (T, T, T, T)...)提供类似迭代器的实用方法,如 mapfoldfor_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);
}

无运行时依赖