5 个版本
0.1.4 | 2023 年 8 月 25 日 |
---|---|
0.1.3 | 2023 年 8 月 17 日 |
0.1.2 | 2023 年 8 月 14 日 |
0.1.1 | 2023 年 8 月 14 日 |
0.1.0 | 2023 年 8 月 14 日 |
830 在 数据库接口 中
每月 30 次下载
12KB
198 行
字典实现和使用指南
概述
此存储库提供 Rust 中的简单字典实现,具有各种用于操作和与字典数据结构交互的函数。该字典允许您存储键值对,其中键是 String 类型,值可以是任何类型 T。
函数和用法
包含在项目中
use simple_dic::Dictionary;
new(o:bool) -> Self
此函数创建 Dictionary 结构的新实例。布尔参数是一个新且实验性功能,用于切换唯一性。由于其尚未完全实现,建议目前将其保留为 true。
let mut my_dict = Dictionary::<T>::new(true);
push(&mut self, key: String, value: T) -> Result<(), String>
使用此函数向字典中添加新的键值对。如果键已存在,则返回错误信息。
let key = "name".to_string();
let value = "John".to_string();
match my_dict.push(key, value) {
Ok(()) => println!("Key-value pair added successfully."),
Err(err) => println!("Error: {}", err),
}
pop(&mut self)
此函数从字典中移除最新的(最后添加的)键值对。
my_dict.pop();
search(&self, key: String) -> bool
使用此函数检查键是否存在于字典中。
if my_dict.search("name".to_string()) {
println!("Key found!");
} else {
println!("Key not found.");
}
len(&self) -> usize
此函数返回字典中键值对的数量。
let num_entries = my_dict.len();
println!("Number of entries in the dictionary: {}", num_entries);
drop(&mut self, key: String) -> bool
此函数根据提供的键删除键值对。如果找到并删除了键值对,则返回 true,否则返回 false。
if my_dict.drop("name".to_string()) {
println!("Key-value pair deleted successfully.");
} else {
println!("Key-value pair not found.");
}
contains(&self, value: &T) -> bool
此函数检查给定的值是否存在于字典的值中。
if my_dict.contains(&"John".to_string()) {
println!("Value found in the dictionary.");
} else {
println!("Value not found.");
}
###index_of(&self,key: String) -> Result<Vec, String> 搜索并返回所有键的索引
let key = "search_key";
match obj.index_of(key.to_string()) {
Ok(indices) => {
println!("Indices of '{}': {:?}", key, indices);
}
Err(error) => {
println!("Error: {}", error);
}
}
overwrite(&mut self, key: String, newvalue: T) -> Result<(), String>
此函数覆盖与键关联的值。如果找到键,则更新值。如果未找到键,则返回错误。尚未更新 unique = false。
match my_dict.overwrite("name".to_string(), "Jane".to_string()) {
Ok(()) => println!("Value updated successfully."),
Err(err) => println!("Error: {}", err),
}
示例
use simple_dic::Dictionary;
fn main() {
let mut my_dict = Dictionary::new(true);
my_dict.push("name".to_string(), "John".to_string()).unwrap();
my_dict.push("age".to_string(), 25.to_string()).unwrap();
println!("Dictionary contains 'name': {}", my_dict.search("name".to_string()));
println!("Dictionary length: {}", my_dict.len());
my_dict.pop();
println!("Dictionary length after pop: {}", my_dict.len());
my_dict.drop("age".to_string());
println!("Dictionary length after drop: {}", my_dict.len());
}