小编aut*_*eps的帖子

Rust 从迭代器中收集哈希图

我们有一个 HashMap,我们对其进行迭代和映射以替换值,但是遇到了一个问题,将其收集回具有不同值类型的新 HashMap。

value of type `std::collections::HashMap<std::string::String, std::string::String>`
cannot be built from `std::iter::Iterator<Item=(&std::string::String, std::string::String)>`
Run Code Online (Sandbox Code Playgroud)

我们所做的基本上归结为:

let old: HashMap<String, Value> = some_origin();
let new: HashMap<String, String> = old.iter().map(|(key, value)| {
  return (key, some_conversion(value));
}).collect();
Run Code Online (Sandbox Code Playgroud)

如果对两个迭代器进行压缩,例如在这种情况下压缩键,并且映射仅返回转换后的值,则也会返回相同的迭代器类型(并且不可收集)。

new = old.keys().into_iter().zip(old.iter().map(|(key, value)| some_conversion(value)).collect();
Run Code Online (Sandbox Code Playgroud)

iterator tuples hashmap rust

6
推荐指数
1
解决办法
2005
查看次数

更新S3文件时触发Jenkins作业

我正在寻找一种方法来在S3中创建或更新文件时触发我的Jenkins作业.我似乎无法用通常的搜索手段找到任何东西.它始终是上传工件到S3,但很少下载,即便如此我似乎找不到触发实际更新过程的方法.我目前唯一可以弄清楚如何执行此操作的方法是定期同步文件并将哈希值与先前版本进行比较,但这是一个非常糟糕的解决方案.这背后的想法是让一个代理(无法访问我们的Jenkins)上传他们的构建工件并从中触发部署.

deployment amazon-s3 jenkins jenkins-plugins

5
推荐指数
1
解决办法
1723
查看次数