5个版本 (1个稳定版)

1.0.0 2021年11月5日
0.1.6 2021年8月3日
0.1.5 2021年7月8日

配置中排名第564

Download history 28/week @ 2024-03-14 31/week @ 2024-03-21 53/week @ 2024-03-28 32/week @ 2024-04-04 34/week @ 2024-04-11 41/week @ 2024-04-18 45/week @ 2024-04-25 32/week @ 2024-05-02 31/week @ 2024-05-09 36/week @ 2024-05-16 42/week @ 2024-05-23 47/week @ 2024-05-30 29/week @ 2024-06-06 30/week @ 2024-06-13 35/week @ 2024-06-20 11/week @ 2024-06-27

每月下载量113

GPL-3.0许可

18KB
103

Rust-ConfigParser CI Crates.io 代码行数

⚙ 非常简单的Rust配置解析库!

我创建这个库是因为我需要一个简单的配置解析器来用在我的一些项目中,并想学习如何创建Rust的crate。希望它也能对你有帮助。 :P

💠 安装

只需将以下内容添加到你的Cargo.toml

[dependencies]
simple_config_parser = "1.0.0"

📀 快速入门

这个配置解析器是为使用简化版本的ini文件而设计的。它没有部分,目前也没有支持转义字符。

; This is a comment
# This is also a comment
hello = World
rust = Is great
test = "TEST"

🐳 为什么

已经有几个Rust的配置解析器了,为什么还要使用这个呢?

有以下几个原因

  • 使用非常简单
  • 它的速度比一些流行的配置解析器要快(只是几百纳秒,但确实快)
  • 它的代码容易理解(至少对我来说是)
  • 它会让我感到高兴(:P)

💥 示例

从文本和文件创建新的配置。

// Import Lib
use simple_config_parser::Config;

// Create a new config and parse text
let cfg = Config::new()
    .text("hello = world")
    .unwrap();

// Create a new config from a file
let cfg2 = Config::new()
    .file("config.cfg")
    .unwrap();

从配置中获取值。

// Import Lib
use simple_config_parser::Config;

// Create a new config with no file
let cfg = Config::new()
    .text("hello = World\nrust = Is great")
    .unwrap();

// Get a value from the config (As a string)
println!("Hello, {}", cfg.get_str("hello").unwrap());

以实现FromStr类型的任何类型从配置中获取值。

// Import Lib
use simple_config_parser::Config;

// Create a new config with no file
let mut cfg = Config::new()
    .text("hello = true\nrust = 15\npi = 3.1415926535")
    .unwrap();

// Get a value from the config as bool
assert_eq!(cfg.get::<bool>("hello").unwrap(), true);

// Get a value from the config as int
assert_eq!(cfg.get::<i32>("rust").unwrap(), 15);

// Get a value from the config as float
assert_eq!(cfg.get::<f32>("pi").unwrap(), 3.1415926535);

无运行时依赖