2017-08-26 10 views
2

私はHoogle上のいくつかのドキュメントを探していた機能があるが、この署名でdeleteFirstsByと呼ば:Haskell誰かがdeleteFirstsBy関数がどのようにしてどのように動作するか説明できますか?

deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] 

説明は言う:

deleteFirstsBy機能が述語と二つのリストとリターンを取ります第2のリストの各要素が最初に出現した最初のリストが削除される。

私はそれが何を意味するのかよく分かりません。誰か私に例を与えることができますか?

+3

あなた自身で関数を呼び出そうとしましたか?例えばGHCi? –

+0

doc(Googleのリンクをたどった場合)deleteFirstsBy関数は、述語と2つのリストを取り、2番目のリストの各要素が最初に出現した最初のリストを返します。あなたは何を理解していますか? – mb14

答えて

2

ドキュメントは完全にはっきりしていませんが、deleteByの説明を読んだ後、その意味は明確になります。

は、私たちがy1を取り、私たちの平等述語としてeqを使用して、xsからそれを削除しようと、私たちはその後、

deleteFirstsBy eq [x1,...,xn] [y1,...,ym] 

があるとします。具体的には、eq y1 xiが真となるようにiを検索します。もし存在しなければ何もしません。少なくとも1つがある場合は、最初にと削除されます(iのあるもの)xiが見つかります。

次に、残っているxsリスト(今は要素が1つ少なくなる可能性があります)からy2を削除します。そして、それぞれについてyj

関連する問題