できるだけ可能な場合は、関数をRust(おそらくはい)のパラメータとして渡すことができます。錆にはどのように関数をパラメータとして渡しますか?
できない場合は、これが良い方法です。
私はいくつかの構文を試みたが、私はこの
..//
let fun: fn(value: i32) -> i32;
fun = funTest;
fun(5i32);
..//
fn funTest(value: i32) -> i32 {
println!("{}", value);
value
}
ではなく、別の関数にパラメータとして
..//
fn funTest(value: i32, (some_function_prototype)) -> i32 {
println!("{}", value);
value
}
を機能を渡すように行うことができます知っている
をもらっていない
@AngelAngel:まあ、 'Fn *'は形質なので、普通の ''と '(t:&T)'が適用されます。非ジェネリックなソリューションの主な制限は、参照と一緒に使用する必要があることです。だからコピーとして渡すべき 'FnOnce'が必要な場合は、汎用スタイルを使わなければなりません。 –
rodrigo
特徴オブジェクトの代わりにジェネリックを使用する方が慣れていることに注意してください( 'f:&Fn ...)の代わりに' ')。これは理由のためです。ジェネリックスは静的なディスパッチを引き起こします。ダイナミックディスパッチ。 –