#工具 #stupid #hash-map #collection #insert #map-value #predule

stupid_utils

一个提供一些简单、可能愚蠢或有用的工具的crate

9个版本

0.2.7 2024年7月9日
0.2.6 2024年5月11日
0.2.4 2023年9月28日
0.2.3 2023年8月3日
0.1.1 2023年8月3日

#388数据结构

Download history 2/week @ 2024-04-26 318/week @ 2024-05-10 10/week @ 2024-05-17 3/week @ 2024-05-24 1/week @ 2024-06-28 119/week @ 2024-07-05 16/week @ 2024-07-12 85/week @ 2024-07-26 8/week @ 2024-08-02

94 每月下载量
用于 computercraft_websocket_c…

MIT/Apache

46KB
1K SLoC

描述

一个提供一些简单、可能愚蠢或有用的工具的crate

示例

    use std::collections::HashMap;
    use stupid_utils::predule::*;

    let a = HashMap::new().mutable_init(|m| {
        m.insert(1, 4.box_up());
        m.insert(
            2,
            Some(9)
                .map_value(|v| match v {
                    Some(v) => v,
                    None => 3,
                })
                .box_up(),
        );
        let cond = true;
        m.insert(cond.select(3, 4), select(cond, 3, 4).box_up());
    });

    let b = {
        let mut m = HashMap::new();
        m.insert(1, Box::new(4));
        m.insert(
            2,
            Box::new({
                let v = Some(9);
                match v {
                    Some(v) => v,
                    None => 3,
                }
            }),
        );
        let cond = true;
        m.insert(if cond { 3 } else { 4 }, Box::new(if cond { 3 } else { 4 }));
        m
    };

    assert_eq!(a, b);
   

无运行时依赖