rust - 如何将元组收集到 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
但无法弄清楚为什么它不起作用。
提前致谢
解决方案
推荐阅读
- azure - Pdftron Sdk 在 azure Web 应用程序服务中抛出错误?
- android-studio - Android studio 3.5.1(SDK 29.0.3) 导致损坏的 avd root
- xamarin.forms - 有没有办法在桌面上禁用 Xamarin Forms SwipeGestureRecognizer?
- machine-learning - 为什么我收到 ValueError?
- html - 轮播内的卡片垂直显示而不是水平显示
- excel - 已定义和设置变量时 VBA 中的错误 91
- tensorflow-serving - tensorflow serving enable batch, { "error": "第二个输入必须是标量,但它的形状为 [1] }
- progressive-web-apps - indexedDB同时创建多个ObjectStore
- apache-spark - What are the Spark transformations that cause a shuffle on Dataframes?
- javascript - 当一个未处理的被拒绝的承诺抛出它的错误