クロージャーを含む構造体のコンストラクターとして機能するメソッドを実装するにはどうすればよいですか? 私は 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
その引数でタイプの構造体を作成し、新しく作成された構造体を返すバージョンを作成できないようです。これを行う方法はありますか、そうでない場合、何がわかりませんか?