4个版本
0.2.0 | 2021年5月14日 |
---|---|
0.1.2 | 2021年4月4日 |
0.1.1 | 2021年4月4日 |
0.1.0 | 2021年4月4日 |
48 在 #fmt
每月 237 次下载
9KB
93 行
reusable-fmt
为std::fmt宏提供可重用格式字符串
首次发布
此crate为std::fmt
宏(如write!
、print!
、format!
等)提供编译时定义的格式字符串支持。
安装
Cargo.toml
:
[dependencies]
reusable-fmt = { git = https://github.com/rupansh/reusable-fmt }
src.rs
:
use reusable_fmt::*;
示例用法
use reusable_fmt::*;
// This defines your format strings
fmt_reuse! {
TEST1 = "This is a test! {}";
TEST2 = "You can pass multiple format args! {} {}";
TEST3 = r#"Raw Strings work too!! {}"#;
TEST4 = "Named args {arg}";
TEST5 = "Positional args {1} {0}";
TEST6 = "Mixed {} {2} {1} {arg}";
}
fn main() {
prntln!(TEST1, "Hello World"); // This is a test! Hello World
let test = fmt!(TEST6, "Hello", "Test", "World", arg="Named"); // Mixed Hello World Test Named
prntln!("{}", "WOW This works too!");
}
原因
- 使格式字符串更少冗余
- 无运行时开销!一切都是编译时。
- 无依赖(除非你计算构建依赖)
贡献
请随意请求和实现功能。我对宏不是很擅长,所以代码改进也是受欢迎的!
测试
应该在nightly上运行测试
cargo+nightly test
文档
文档应在nightly上编译
cargo+nightly doc
无运行时依赖
~190KB