我将如何实现一个方法,该方法充当包含闭包的结构的构造函数?我是 Rust 的新手,并且由于正在积极研究闭包,我很难在文档中找到解决方案。
struct A<'self> {
fOne: &'self fn(),
}
impl<'self> A<'self> {
fn new() {
println!("Ideally this would return a struct of type A");
}
}
fn run(f: &fn()) {
f();
}
fn main() {
let apples = 5;
let example = A {
fOne: || {
println!("{} apples on the tree.", apples);
},
};
A::new();
run(example.fOne);
}
这是我能做到的,不会遇到很多问题。我似乎无法创建一个A::new()
接受闭包作为参数的版本,使用该参数创建一个类型的结构A
,然后返回新创建的结构。有没有办法做到这一点,或者如果没有,我不明白什么?