1 个不稳定版本
0.1.0 | 2020年9月25日 |
---|
#33 在 #minimal
25KB
453 行
最小对象符号
一个用于读取和写入最小对象符号的 Rust 包。
简介
什么是“最小对象符号”?它是一种格式,简单地在一些信息上附加一个名称标签和一个长度标签。例如:greeting|13~Hello, world!
。
创建 miniON
的示例
use minimal_object_notation::*;
let mut minion = MiniON::new("greeting".to_string());
minion.set_content("Hello, world!".to_string());
let minion = minion.to_string();
将生成包含 greeting|13~Hello, world!
的 String
。
解析 miniON
的示例
use minimal_object_notation::*;
let data = b"greeting|13~Hello, world!container|23~first|3~ONEsecond|3~TWO";
let mut incr: usize = 0;
// Parse a single object that starts at the position `incr`...
match MiniON::parse_one(data, &mut incr) {
Ok(minion) => {
assert_eq!("greeting",minion.name);
match minion.content {
Some(content) => {
assert_eq!("Hello, world!",content);
},
None => {
panic!("Expected content!");
}
}
},
Err(e) => {
panic!("{}",e.to_string());
}
}
// ... OR parse all (sucessive) miniON objects.
match MiniON::parse_all(data) {
Ok(minions) => {
assert_eq!(minions.len(),2);
assert_eq!("container",minions[1].name);
},
Err(e) => {
panic!("{}",e.to_string());
}
}