首页 > 解决方案 > 如何将元组收集到 HashMap 中?

问题描述

use std::collections::HashMap;

fn rank(st: &str, we: Vec<i32>, n: usize) -> &str {
    if st.is_empty() {
        return "No participants";
    }
    
    if n > st.split(',').count() {
        return "Not enough participants";
    }
    
    let win_num = st
        .to_lowercase()
        .split(',')
        .map(|name| name.chars().map(|c| c as i32 - 95i32).sum::<i32>())
        .zip(we.iter())
        .map(|tup| tup.0 * (*tup.1))
        .collect::<Vec<i32>>();
    
    let result = st
        .split(',')
        .cloned()
        .zip(win_num.iter())
        .collect::<HashMap<str, i32>>();
}

我正在尝试将带有&str切片的向量合并为 aHashMap但无法弄清楚为什么它不起作用。

提前致谢

标签: rusthashmapclonetraitscollect

解决方案


推荐阅读