3个版本
0.1.2 | 2024年1月22日 |
---|---|
0.1.1 | 2024年1月22日 |
0.1.0 | 2024年1月22日 |
#1217 in 解析器实现
17KB
325 行
trfr
该trfr
crate仅用于解析命令行工具Tandem Repeat Finder
(或trf
)的输出。
输出是通过传递--d
标志来创建可解析的表格(而不是标准HTML输出)。有关trf
的源代码和引用,请参阅此处。
API遵循大多数主流Rust API的规范(特别是BurntSushi的)。它是一个迭代器API。
示例
use std::{error::Error, io, process};
fn example() -> Result<(), Box<dyn Error>> {
// Build the trfr reader
// and assuming you are parsing with `-d` flag only
let mut rdr = trfr::Reader::from_reader(io::stdin(), trfr::Flag::D);
for result in rdr.records() {
let record = result?;
println!("{:?}", record);
}
Ok(())
}
fn main() {
if let Err(err) = example() {
println!("error running example: {}", err);
process::exit(1);
}
}
lib.rs
:
该trfr
crate仅用于解析命令行工具Tandem Repeat Finder
(或trf
)的输出。
输出是通过传递--d
标志来创建可解析的表格(而不是标准HTML输出)。有关trf
的源代码和引用,请参阅此处。
API遵循大多数主流Rust API的规范(特别是BurntSushi的)。它是一个迭代器API。
示例
use std::{error::Error, io, process};
fn example() -> Result<(), Box<dyn Error>> {
// Build the trfr reader
// and assuming you are parsing with `-d` flag only
let mut rdr = trfr::Reader::from_reader(io::stdin(), trfr::Flag::D);
for result in rdr.records() {
let record = result?;
println!("{:?}", record);
}
Ok(())
}
fn main() {
if let Err(err) = example() {
println!("error running example: {}", err);
process::exit(1);
}
}