6个稳定版本
新版本 1.2.3 | 2024年8月17日 |
---|---|
1.2.0 | 2024年7月13日 |
1.1.0 | 2024年6月19日 |
1.0.0 | 2024年6月9日 |
#96 在 配置 中排名
149 每月下载量
17KB
51 行
SKN Rust Utility Library
Rust
RustDocs
阅读Rustdoc以了解主要模块
简介
这是一个简单的Rust库,用于一些基本工具函数
我制作了这个库,以便我可以在所有的Rust项目中使用它,而不必一遍又一遍地编写相同的代码
此库的主要模块是 env
、execution
、stdio
、random
和 args
详细信息
env
模块
- 它有1个函数,用于构建外部配置文件功能,以获取程序外部数据
init_config
函数接收泛型- 文件名是
rustenv.toml
,您可以在调用该函数后从中获取数据 - 配置文件
rustenv.toml
必须放在Cargo.toml
文件所在的根目录中 - 要正确读取文件中的值,您需要 serde crate
- 请参阅
Usage
部分,以获取如何使用它的示例
execution
模块
- 它有2个函数,可以帮助在终端中执行命令
execute_command
函数可以在终端中运行任何命令- 它接受命令名称作为第一个参数
- 它接受字符串切片(&str)数组的引用作为命令参数
gnome_execute_command
函数可以在新的Gnome终端中打开并执行命令- 它只接受一个参数,即字符串切片(&str)
- 如果需要执行多个命令,则必须使用
;
将命令分开
- 请参阅
Usage
部分,以获取如何使用它的示例
stdio
模块
- 它有1个函数,用于读取用户输入并返回它
read_line
函数在成功读取输入时返回 String,否则返回 Error- 请参阅
Usage
部分,以获取如何使用它的示例
random
模块
- 它有1个函数,可以从给定的范围内生成随机数
gen_random_number
函数接受两个参数来设置范围。一个是low
,另一个是high
- 这两个参数可以是
Integer
或Float
- 参数
low
和high
必须是同一类型,即您不能设置从 1 到 10.1 的范围 - 第二个参数
high
是包含的,即从 1 到 10 的范围意味着包括从 1 到 10 - 请参阅
Usage
部分,以获取如何使用它的示例
args
模块
- 它有一个函数,提供通过命令行界面传递的参数集合
get_args
函数返回一个作为字符串向量的集合- 请参阅
Usage
部分,以获取如何使用它的示例
用例
- Rust
需求
用法
要安装包,请在控制台中输入以下内容
cargo add best_skn_utils
在您的 Rust 代码中,像这样导入包
use best_skn_utils::{env, execution, stdio, random, args};
使用模块如下(只是一个示例)
(1) 对于 env
模块,您可以像这样使用
(a) 假设 rustenv.toml
文件包含以下数据
[author] name = "SKN" email = "[email protected]"
(b) 然后模块的使用可以像这样
use best_skn_utils::env::init_config; use serde::Deserialize; #[derive(Debug, Deserialize)] struct Author { name: String, email: String, } impl Author { fn new() -> Self { Self { name: String::new(), email: String::new(), } } } #[derive(Debug, Deserialize)] struct ConfigData { author: Author, } impl ConfigData { fn new() -> Self { let config = init_config::<Self>(); match config { | Ok(value) => value, | Err(e) => { println!("Error: {}", e); Self { author: Author::new(), } } } } } let config_data: ConfigData = ConfigData::new(); println!("Name: {}, Email: {}", config_data.author.name, config_data.author.email);
(2) 对于 execution
模块,您可以像这样使用
use best_skn_utils::execution::{execute_command, gnome_execute_command}; execute_command("cargo", &["doc", "--open"]); gnome_execute_command("printf 'Hello SKN! \n'; printf 'Build was successful! ✅ \n'; read -n 1 KEY");
(3) 对于 stdio
模块,您可以像这样使用
use best_skn_utils::stdio::read_line; use std::io::Error; let input: Result<String, Error> = read_line("Write your name:"); match input { | Ok(value) => println!("Your name: {}", value), | Err(e) => println!("Error: {}", e), }
(4) 对于 random
模块,您可以像这样使用
use best_skn_utils::random::gen_random_number; let num1: i32 = gen_random_number(1, 10); let num2: f64 = gen_random_number(1.5, 7.5);
(5) 对于 args
模块,您可以像这样使用
use best_skn_utils::args::get_args; let args: Vec<String> = get_args(); println!("{:?}", args);
献给我的
- 👩⚕️
Tanjila Hasan Trina
:我一生中丢失的爱人。自然的道路将我们分开,把我们放在了彼此遥远的地方。但无论我们现在多么分离,我的每一刻都只属于你。我们可能在这个 lifetime 中不会见面,但我在来世会找到你。我只想说:世界は残酷だ それでも君を愛すよ
- 💯
My Parents
:我一生中最大的财富。
许可证
版权所有 (C) 2024 SKN Shukhan
根据 MIT 许可证授权
依赖关系
~3–12MB
~119K SLoC