提问人:patrick18 提问时间:1/9/2023 最后编辑:Adrian Molepatrick18 更新时间:1/25/2023 访问量:59
如何将 fn 指针转换为闭包
How to transform fn pointer into closure
问:
对于没有参数的 rust 函数,它们的函数指针可以作为闭包传递,如下所示:
fn foo(){//doing sth}
fn main(){
thread::spawn(foo).join().unwrap();
};
但是,带参数的函数呢?喜欢:
fn foo(x:i32,y:i32)->i32{//doing sth with x and y}
fn main(){
thread::spawn(foo).join().unwrap();
};
报告错误如下:
4 | thread::spawn(foo).join().unwrap();
| ------------- ^^^ expected function that takes 0 arguments
答:
0赞
patrick18
1/25/2023
#1
好了,现在我明白了我想问的是 rust 是否支持函数咖喱,这是我之前在 scala 中遇到的一个技能。
评论
thread::spawn()
Fn()
thread::spawn(|| foo(1, 2))