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