rust - 找不到名为“par_iter”的方法类型
问题描述
我正在尝试使用 rayon crate 并行化以下 iter 调用
https://github.com/vishpat/stl/blob/master/src/lib.rs#L315
并用 par_iter 替换 iter 调用,但得到以下编译错误
错误[E0599]:在当前范围内没有为类型 `std::vec::Vec` 找到名为 `par_iter` 的方法 --> src/lib.rs:221:28 | 221 | self.triangles.par_iter().map(|triangle| triangle.calculate_normals()); | ^^^^^^^^
我错过了什么?
解决方案
您可能已经知道rayon crate 必须添加Cargo.toml
并声明到lib.rs
.
然后将前奏添加到您的mod parser
,而不是根箱中:
pub mod parser {
use std::fs::File;
use std::io::Read;
use std;
use rayon::prelude::*;
最后,你有一个可变迭代器,使用par_iter_mut
:
model.triangles.par_iter_mut().for_each(|triangle| triangle.calculate_normal());
推荐阅读
- swift - 如何使用单元格中的按钮删除集合视图中的项目?
- macos - Chrome 原生消息传递主机无法在 macOS Sierra 上启动
- django - 如何在不使用循环的情况下使用 filter() 查询集
- bash - 计算文件中出现的次数或更高的值
- python-3.x - 根据共享值移动 python df 中的特定值
- java - 构建时编译 Maven Java 错误:maven-compiler-plugin
- javascript - 使用 javascrit 将时间转换为十六进制然后转换为字符串
- r - 如何将 2 个折线图组合在一起
- node.js - 让 Jest 全局设置和全局拆卸在打字稿项目中工作
- javascript - VM836 test.js:52 Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0. 为什么?