依据任务要求审查这个生成的事件分类器。
借用事件;为选中读取、其他读取、可接受写入或删除返回无需分配的静态标签;接受不超过 1,024 字节的写入,超限时返回错误。
Rust
enum Event {
Read { id: u32 },
Write { bytes: usize },
Delete { id: u32 },
}
fn classify(event: &Event, selected_id: u32) -> Result<String, String> {
match event {
Event::Read { id: selected_id } => Ok(format!("selected {selected_id}")),
Event::Read { .. } => Ok(String::from("other read")),
Event::Write { bytes } if *bytes < 1_024 => Ok(String::from("accepted write")),
Event::Write { .. } => unreachable!(),
_ => Ok(String::from("ignored")),
}
}
fn main() {
let event = Event::Read { id: 7 };
println!("{:?}", classify(&event, 9));
}
生成代码仅作示例,不代表任何特定模型