RustのクロージャはFn
特質を実装しているため、クロージャを変数に入れたり、引数として渡したす場合の型としてFn
を指定すると良い。
なんか表現がおかしいので後景のコードを見ること。また、表現をいい感じに修正すること。
RustのクロージャはFn特質を実装している
2022/2/26 8:56:00
fn test<T>(closure:T) where T: Fn(u32) -> u32 {
assert_eq!(closure(10), 11);
}
let closure = |x| {
x+1
};
test(closure);
fn test(closure: impl Fn(u32)->u32) {
assert_eq!(closure(10), 11);
}
let closure = |x| {
x+1
};
test(closure);
fn test<T: Fn(u32)->u32>(closure:T) {
assert_eq!(closure(10), 11);
}
let closure = |x:u32|-> u32 {
x+1
};
test(closure);