私は現在、Prolog で非常に短いプロジェクトに取り組んでおり、作成した「フィルター」をリストに適用しようとして行き詰まりました。フィルターの準備はできていますが、適用できません。私が説明した方が良いでしょう:
filter(A, B)
...特定の条件が満たされた場合に「true」を出力します。
filterList(A, [X, Y, Z])
...フィルタ出力をfalseにする 2 番目の引数からのすべての要素を含むリストを出力します。(したがって、filter(A, X) が true の場合、出力は [Y, Z] になります)。
「フィルター」関数の準備ができましたが、最初の引数を適用したときにフィルターが true を返すすべての要素を除外して、2 番目の例に示すようにリストに適用する必要があります。
したがって、フィルターが単純な A == B の場合、関数は A [A,B,A,C,D,A] を受け取り、[B,C,D] を出力することになっています。明らかに、フィルターが適用されます。
関数の基本構造に問題があるので、誰かがこのような関数の基本的な概要を提供できれば、非常に役に立ちます。私は自分の状況を可能な限り単純化したので、あなたが提供できるものは何でも取り、私のニーズに合わせて変更することができます.
前もって感謝します!