如何从Rust中的函数返回函数?
我目前拥有和尝试过的:如何从Rust中的函数返回函数?,rust,Rust,我目前拥有和尝试过的: fn locate_func() -> fn() -> bool { func_exit() } 上面的代码显示了我正在努力完成的任务。我想以指针的形式返回func_exit,指向任何变量绑定可能决定它需要的特定代码,以及一旦检索到函数,我想运行它。但我确信我能自己找出跑步的部分 &func_exit() 我已经尝试过了,但您肯定知道,它只是对函数求值,然后返回指向堆栈上布尔值的指针 *&func_exit() &*func
fn locate_func() -> fn() -> bool {
func_exit()
}
上面的代码显示了我正在努力完成的任务。我想以指针的形式返回func_exit
,指向任何变量绑定可能决定它需要的特定代码,以及一旦检索到函数,我想运行它。但我确信我能自己找出跑步的部分
&func_exit()
我已经尝试过了,但您肯定知道,它只是对函数求值,然后返回指向堆栈上布尔值的指针
*&func_exit()
&*func_exit() // or
我相信我在铁锈书中看到过类似的东西,但我在这个例子中尝试过这两种组合,也尝试过用括号以各种不同的方式做同样的事情,但仍然是先计算函数,然后指向计算过的布尔值。括号的意思是“使用这些参数调用函数”。不要这样做:
fn func_exit() -> bool {
println!("hi");
true
}
fn locate_func() -> fn() -> bool {
func_exit
}
fn main() {
let f = locate_func();
f();
}
相关但不同: