1 个不稳定版本
0.1.0 | 2024 年 1 月 31 日 |
---|
#2476 in 解析器实现
11KB
191 行
confignode
一个用于解析 Kerbal Space Program 1 ConfigNode 文件的库
解析配置文件、存档文件以及其他使用此格式的 Kerbal Space Program 中的文件。
使用方法
使用 ConfigNodeParser::parse()
解析 ConfigNode 字符串。返回的是根节点 ConfigNode
,您可以通过结构体的 children
字段访问其键和值。如果知道期望的类型,可以使用 ConfigNodeValue
来使用 as_text()
或 as_node()
获取内部值。您还可以使用常规枚举模式匹配来处理不同类型。
示例
let content = std::fs::read_to_string("persistent.sfs").unwrap();
let savefile = confignode::ConfigNodeParser::parse(&content).unwrap();
let game = savefile.children.get("GAME").unwrap().as_node().unwrap();
println!(
"Name: {}",
game.children.get("Title").unwrap().as_text().unwrap()
);
lib.rs
:
一个用于解析 Kerbal Space Program 1 ConfigNode 文件的库
解析配置文件、存档文件以及其他使用此格式的 Kerbal Space Program 中的文件。
使用方法
使用 [ConfigNodeParser::parse()
] 解析 ConfigNode 字符串。返回的是根节点 ConfigNode
,您可以通过结构体的 children
字段访问其键和值。如果知道期望的类型,可以使用 as_text()
或 as_node()
获取内部值。您还可以使用常规枚举模式匹配来处理不同类型。
示例
let content = std::fs::read_to_string("persistent.sfs").unwrap();
let savefile = confignode::ConfigNodeParser::parse(&content).unwrap();
let game = savefile.children.get("GAME").unwrap().as_node().unwrap();
println!(
"Name: {}",
game.children.get("Title").unwrap().as_text().unwrap()
);