2 个不稳定版本
0.2.1 | 2022年12月4日 |
---|---|
0.1.0 | 2021年11月20日 |
#2362 in Rust 模式
13KB
266 行
Scanfmt
此包提供了解析文本的宏。
该宏接受一个格式化字符串和要解析的参数名称。
格式化字符串字面量的语法与 format!
宏家族非常相似
format_string := text [ maybe_format text ] *
maybe_format := '{' '{' | '}' '}' | format
format := '{' [ argument ] [ ':' format_spec ] '}'
argument := integer | identifier
format_spec := 'o' | 'x' | 'X' | 'b'
在上面的语法中,text
必须不包含任何 '{'
或 '}'
字符。
使用方法
use scanfmt::{scanfmt, ScanError};
fn my_format(s: &str) -> Result<(u16, u32), ScanError> {
let a;
let b;
scanfmt!(s, "a: {}, b: {}", a, b);
Ok((a, b))
}
请注意,scanfmt! 需要函数返回结果以确保变量始终被初始化。
lib.rs
:
一个用于轻松将字符串解析为整数的库。适用于 Advent of Code。
依赖项
~1.5MB
~35K SLoC