아래 함수는 집합 (list)의 powerset을 반환합니다.F # Powerset 함수
let rec powerset = function
| [] -> [[]]
| x::xs -> List.collect (fun sub -> [sub; x::sub]) (powerset xs)
정확하게 작동하는지 이해할 수 없습니다. 재귀를 이해합니다. 나는 또한 List.collect가 어떻게 작동 하는지를 이해한다. 나는 powerset의 인스턴스가 [[]]를 반환 할 때까지 계속 재귀가 일어난다는 것을 안다. 그러나, 그 지점 이후에 반환 된 값을 추적하려고 시도하고 완전한 전력 집합을 얻지 못합니다.
위대한 설명! 이제 그 이유에 대해 이해합니다. 고마워. – topstarterrhp