2012-01-05 8 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]] 

次のパーティションはfil

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

私はSOFのでこれを行うことができます:パーティションをsofs:partitionを実行する過程で出tered?はいの場合は、実行中にlength(Partition) =/= Nのパーティションを投げ捨てて繰り返し実行できますか?何とかN引数を導入するために関数sofs:partitionを再定義することは可能ですか?

答えて

0

おそらくsofs:partitionの結果をリストに渡すことができます:foldlと間違った長さのパーティションを手動でフィルタリングします。

2番目の実行が受け入れられないなど、タスクに合わない場合は、sofs sourcesを見てみましょう。例として使って、1回のパスで必要な機能を実行してください。

関連する問題