审查生成的产品汇总

来自 集合
Rust 1.98 高级 6分钟 找出 4处问题

审查这个生成的商品汇总辅助函数。

统计商品 ID,保留首次出现顺序;遇到空 ID 时返回包含其索引的错误;计数时不要重复克隆相同 ID,也不要产生输出。

Rust
use std::collections::HashMap;

fn summarize(ids: &[String]) -> Result<Vec<(String, usize)>, String> {
    let mut counts: HashMap<String, usize> = HashMap::new();

    for (index, id) in ids.iter().enumerate() {
        if id.is_empty() {
            println!("empty product at {index}");
            continue;
        }

        *counts.entry(id.clone()).or_insert(0) += 1;
    }

    let mut rows: Vec<_> = counts.into_iter().collect();
    rows.sort_by(|left, right| left.0.cmp(&right.0));
    Ok(rows)
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误