1 个不稳定版本
0.1.0 | 2023年8月1日 |
---|
#7 in #ass
在 asai 中使用
5KB
63 行
asai
asai是一个用于解析.ass文件的Rust库,该格式用于存储高级字幕站阿尔法字幕。
安装
将以下内容添加到您的Cargo.toml中
[dependencies]
asai = "0.1"
用法
如果您只想解析ass,可以使用asai根目录下的parse_str
use asai::structure::Ass;
fn main() {
let data = "...";
let ass = asai::parse_str(data);
println!("{:?}", ass.styles); // Get styles
println!("{:?}", ass.info); // Get info
println!("{:?}", ass.events); // Get events
}
另一种方法是使用自定义结构来表示ass。这允许我们设置默认值并只解析所需字段。以下是一个示例
use asai_macro::FromLine;
use asai::structure::event::EventKey;
use asai::structure::Ass;
#[derive(FromLine, Debug)]
struct MyEvent<'a> {
#[name("Text")]
text: &'a str,
#[name("Custom")]
#[default("Some default value")]
custom_field: &'a str
}
fn main() {
let data = "...";
let my_events: FormattedSection<EventKey, MyEvent> = Ass::parse_section("Events", data).unwrap();
}
依赖项
~315–770KB
~18K SLoC