#numbers #hash-map #key-value #num

nightly no-std nummap

定义了一个围绕数字值的HashMap包装器,表现得像是所有键都进行了映射,但未存储的值为0

17 个版本

0.5.1 2020年6月2日
0.5.0 2020年6月2日
0.4.2 2019年6月15日
0.3.4 2019年5月17日
0.1.1 2019年3月30日

#11 in #num

每月下载 42

0BSD 许可证

41KB
915 行代码(不含注释)

nummap

定义了一个围绕数字值的HashMap包装器,表现得像是所有键都进行了映射,但未存储的值为0。


lib.rs:

定义了 [NumMap] 结构体,表现得像是所有未映射的键都具有值0。

let mut map = map![(1, 2), (3, 4)];

//We have set no mapping but we still get 0.
assert_eq!(map.get(&0,), 0,);

//We didn't set a mapping here either but we still get 0.
assert_eq!(map.set(0, 10,), 0,);
assert_eq!(map.get(&0,), 10,);

由于所有键都被视为已映射,因此数学运算是在值上实现的。

let map = map![(1, 2), (3, 4)] + map![(1, 4), (3, 2)];

assert_eq!(map, map![(1, 3), (3, 3)] * 2,);

作者 --- [email protected]
最后修改时间 --- 2020-01-06

依赖关系

~0–390KB