Rust编程:数据提取与grep功能实现
1. 数据提取功能实现
1.1 配置提取与文件打开
在数据提取的过程中,需要先确定要提取的内容类型,可能是字段、字节或字符。以下代码展示了如何根据输入的参数确定提取类型:
let extract = if let Some(field_pos) = fields {
Fields(field_pos)
} else if let Some(byte_pos) = bytes {
Bytes(byte_pos)
} else if let Some(char_pos) = chars {
Chars(char_pos)
} else {
return Err(From::from("Must have --fields, --bytes, or --chars"));
};
同时,还需要一个函数来打开文件,支持从标准输入读取数据:
fn open(filename: &str) -> MyResult<Box<dyn BufRead>> {
match filename {
"-" => Ok(Box::new(BufReader::new(io::stdin()))),
_ => Ok(Box::new(BufReader::new(File::open(filename)?))),
}
}
超级会员免费看
订阅专栏 解锁全文
63

被折叠的 条评论
为什么被折叠?



