#key-value #dictionary #key-string #store-key #pair #data-structures #manipulate

simple_dic

该包提供了 Rust 中的简单字典实现,具有各种用于操作和与字典数据结构交互的函数。该字典允许您存储键值对,其中键是 String 类型,值可以是任何类型 T。

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 次下载

MIT 许可证

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());
}

无运行时依赖项