5 个版本
0.2.2 | 2023 年 6 月 21 日 |
---|---|
0.2.1 | 2023 年 6 月 21 日 |
0.2.0 | 2023 年 6 月 16 日 |
0.1.1 | 2023 年 6 月 15 日 |
0.1.0 | 2023 年 6 月 15 日 |
65 在 #不可变
用于 minesweeprs
13KB
226 行
frozenset
frozenset()
用于 Rust
什么是 frozenset
?
frozenset
是一个 Rust 库包,提供了 FrozenMap
和 FrozenSet
类型,它们是 HashMap
和 HashSet
的包装。这些类型实现了 Hash
,因此适合用作其他 HashMap
和 HashSet
的键。
为什么我想使用 frozenset
?
frozenset
在您想将 HashMap
或 HashSet
作为另一个 HashMap
或 HashSet
的键时很有用。这是不可能的,因为标准库类型没有实现 Hash
。
冻结集合已在其他语言中显示出其有用性 - 在 Python 中,frozenset()
被认为非常有用,以至于它是一个内置的全局可访问类型。
如何使用 frozenset
?
很简单!只需将 frozenset
添加到您的 Cargo.toml
[dependencies]
frozenset = "0.1"
确保 frozenset::Freeze
在作用域内,并在您的 HashMap
或 HashSet
上调用 .freeze()
use std::collections::HashMap;
use frozenset::Freeze;
let map: HashMap<i32, i32> = [(1, 2), (3, 4)].into();
let frozen_map = map.freeze();
// Now you can use `frozen_map` as a key in another `HashMap` or `HashSet`!
let mut map_of_maps = HashMap::new();
map_of_maps.insert(frozen_map, 7i32);
为什么 frozenset
只有 0.2.2?
frozenset
目前处于预发布状态。它还不被认为是稳定的,我可能会添加/更改任何我认为不完整的功能。
依赖关系
~175KB