
Closure::fromCallable 함수는 callback 함수를 인수로 받아 closure를 생성하는 함수입니다. 이 함수는 closure를 생성할 때 다음과 같은 옵션을 제공합니다.
- `move`: callback 함수를 소유하는 closure를 생성합니다. 이 옵션을 사용하면 callback 함수의 변수를 소유할 수 있습니다.
- `once`: callback 함수를 한 번만 호출하는 closure를 생성합니다. 이 옵션을 사용하면 callback 함수를 여러 번 호출하지 않습니다.
- `unbounded`: callback 함수를 여러 번 호출하는 closure를 생성합니다. 이 옵션을 사용하면 callback 함수를 여러 번 호출할 수 있습니다.
예를 들어, 다음 코드는 `move` 옵션을 사용하여 callback 함수를 소유하는 closure를 생성합니다.
#hostingforum.kr
rust
fn main() {
let callback = |x| x * x;
let closure = Closure::fromCallable(callback, ClosureFlags::move_());
println!("{}", closure.call(5)); // 25
}
이 코드에서 `ClosureFlags::move_()` 옵션을 사용하여 callback 함수를 소유하는 closure를 생성합니다.
2025-03-24 21:01