Rust 迭代器映射回调问题“函数预计采用 1 个参数,但它采用 3 个参数,预期函数采用 1 个参数”

问题描述 投票:0回答:1

这个“do_work”函数需要插入3个参数,但只有第一个参数起作用。请查看图片。

我还需要插入 i2 和 i3 变量。

Rust iterator 映射回调问题 - “函数预计采用 1 个参数,但它采用 3 个参数,而预期函数采用 1 个参数”。

rust vector callback iterator arguments
1个回答
0
投票

不要将

do_stuff
直接传递给
map
,而是尝试在两者之间使用闭包。最小的例子:

fn do_stuff(i: usize, i2: usize, i3: usize) -> usize {
    return i + i2 + i3;
}

fn main() {
    let a: usize = 2;
    let b: usize = 3;
    
    let results: Vec<usize> = (0..100).map(|i: usize| do_stuff(i, a, b)).collect();
}
© www.soinside.com 2019 - 2024. All rights reserved.