2012-01-05 1 views
1

참고 :이 질문은 이전의 유사 함을 다시 생각한 것입니다. question.Erlang의 sofs : partitions는 어떻게 작동합니까?

Erlang의 sofs:partition이 위키 백과의 페이지 Set partitions에 대해 설명하는 것과 동일한 기능을 수행하는지 알고 싶습니다.

만약 그렇다면 어떻게해야합니까?

데이터 구조 (세트 세트 또는리스트 목록)을 감안할 :

[a,b,c] 
    [a,b] 
    [c] 
    [d,e,f] 
    [d,f] 
    [e] 

다음 독특한 요소를 포함한다 :

a,b,c,d,e,f 

인자로 기능을 실행 한 결과 N = 2은 다음과 같아야합니다.

[[a,b,c], [d,e,f]] 

[[a,b,c], [d,f], [e]] 
[[a,b], [c], [d,e,f]] 
[[a,b], [c], [d,f], [e]] 

내가 SOFS하여이 작업을 수행 할 수 있습니다 : 파티션을 sofs:partition을 실행하는 과정에서 리하여? 그렇다면 실행 중에 length(Partition) =/= N의 파티션을 버려서 반복적으로 수행 할 수 있습니까? 어떻게 든 N 인수를 도입하는 함수를 sofs:partition 재정의 할 수 있습니까?

답변

0

아마도 sofs : partition 결과를 목록에 전달할 수 있습니다. foldl과 잘못된 길이의 파티션을 수동으로 필터링 할 수 있습니다.

두 번째 실행이 용납되지 않는 등의 작업에 적합하지 않은 경우 sofs sources을 한 번 사용해보고 한 번에 필요한 기능을 수행하는 고유 한 기능을 만들 수 있습니다.