我正在尝试以一种实用的风格来做到这一点:
使用结构化迭代将是这样。
let data: [i32; N] = get_data();
let mut result = vec![];
let mut i = 0;
while i < N {
let value = do_some_reduction(data[i], data[i + 1], data[i + 2], data[i + 3]);
if filter_criteria(value) {
result.push(value);
}
i += 4;
}
// result now contains what I need
我试图从向量中获取一个迭代器并使用filter
,但是我找不到一种方法来使4个元素递增,并使这4个元素可用于应用filter_criteria
。 step_by
方法只是给我第一步的要素,而不是全部。