我希望迭代Vec<T>
,但也要将一个 struct 实例传递给我的函数.
其 idea 是,我可以在每个进程中分别复制 struct 实例,并根据存储在Vec<T>
中的初始条件修改每个复制的 struct 实例.
再一次,我有一组存储在VEC中的初始条件,我想使用.iter()
来反复使用它们来修改一组 struct 实例副本.
我天真的猜测是,我必须再创建一个长度与Vec<T>
相同的Vec<StructType>
个,然后在这Vec<StructType>,
个 struct 实例中创建许多副本,但我想知道是否有更有效的方法,每个进程都可以创建一个副本.
以下是我正在try 做的事情的大纲,尽管我不确定将这struct_instance
传递给我的函数的最佳方式是什么.
// --- PreProcessing ---
let struct_instance <StructType> = read_inputs(json);
// --- Iteration ---
let initial_conditions: Vec<i32> = (1..5).collect();
let test: Vec<i32> = initial_conditions
.iter()
.map(calculation_function)
.collect();
我在代码片段中省略了read_inputs
和calculation_function
的定义,因为我觉得完整的定义可能会偏离问题的要点.
稍后,我想将这项任务与人造丝并行化,这就是为什么我 Select 使用.iter()
方法.