rust - 为什么我不能在 par_iter 上调用 collect_into?
问题描述
我想尽量减少我的程序所做的分配量,所以我没有调用.collect()
人造丝 par_iter,而是尝试使用collect_into()
, 收集到现有的 Vec 中。
这是一些示例代码:
use rayon::prelude::*;
use rayon::iter::IndexedParallelIterator;
fn main() {
let a:Vec<u8> = vec![1,2,3,4];
let mut b: Vec<u8> = Vec::with_capacity(100);
a.into_par_iter().map(|x|x*2).collect_into(&mut b);
println!("{:?}",a);
}
编译器不是构建,而是打印
error[E0599]: no method named `collect_into` found for type `rayon::iter::map::Map<rayon::vec::IntoIter<u8>, [closure@src/main.rs:8:27: 8:33]>` in the current scope
--> src/main.rs:8:35
|
8 | a.into_par_iter().map(|x|x*2).collect_into(&mut b);
| ^^^^^^^^^^^^
解决方案
此方法已collect_into_vec()
在 Rayon 的 1.0 版本中重命名为,您似乎正在使用该方法。
推荐阅读
- c - 为什么当变量不相等时语句为真,当它们相等时语句为假?
- php - 根据订阅 ID 查找 invoice.payment_succeeded
- r - ggplot2 绘图:在导出为 PNG 时更改文本以防超出绘图窗口
- php - 如何在一页中添加两个 Google Place 自动填充搜索框?
- google-chrome - 如何在没有键盘快捷方式或屏幕选项的情况下打开 chrome 开发工具并保存数据
- c++ - C++20 - 模板参数推导/替换问题
- node.js - 有没有将 gwt 用于 nodejs 的示例?
- javascript - 隐藏元素,但保持可点击?
- node.js - db-migrate 命令运行时如何自动重启 pm2 服务器?
- r - 如何通过 Powershell 远程运行 R 脚本