Closure API

클로저를 받는 함수는 호출 방식으로 계약을 드러낸다

클로저 문법을 보기 전에 함수가 몇 번 호출하고, 캡처 값을 바꿀 수 있는지, 결과가 언제 필요한지부터 확인합니다.

입력

환경을 읽는가

읽기만 하면 공유 참조로 충분해 여러 호출과 병렬 읽기에 유리합니다.

Fn
상태

누적값을 바꾸는가

카운터 증가처럼 외부 상태를 바꾸면 가변 캡처가 필요합니다.

FnMut
소비

값을 밖으로 옮기는가

캡처 값을 소비하면 같은 클로저를 다시 실행할 수 없습니다.

FnOnce
호출

몇 번 실행되는가

최대 한 번이면 넓게 받고, 원소마다 호출하면 반복 호출 가능해야 합니다.

where F: ...