簡體   English   中英

Erlang中的sofs:partitions如何工作?

[英]How does sofs:partitions in Erlang work?

注意:這個問題是基於對我之前類似問題的重新思考。

我想知道Erlang的sofs:partition是否做與Wikipedia頁面有關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]]

盡管在執行sofs:partition的過程中應過濾掉以下sofs:partition

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

我可以用sofs:partition來做嗎? 如果是,我可以迭代執行,在執行過程中扔掉length(Partition) =/= N嗎? 是否可以通過某種方式重新定義sofs:partition函數以引入N參數?

您可能只是將sofs:partition的結果傳遞給list:foldl並手動過濾出長度錯誤的分區。

如果它不適合您的任務(例如,第二次運行是不可接受的),則可以只看一下sofs源 ,以它為例,並制作自己的函數,即可一次完成您真正需要的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM