我目前正在做一个关于 Prolog 的非常短的项目,只是在尝试将我创建的“过滤器”应用于列表时遇到了困难。我已经准备好你可以称之为过滤器的东西,但我无法应用它。如果我说明一下会更好:
filter(A, B)
...如果满足某些条件,则输出“真”。
filterList(A, [X, Y, Z])
...输出一个列表,其中包含第二个参数中使过滤器输出为false的所有元素。(因此,如果 filter(A, X) 为真,则输出为 [Y, Z] )。
我已经准备好“过滤器”函数,但现在我需要将它应用到列表中,如第二个示例所示,不包括使用第一个参数应用时过滤器返回 true 的所有元素。
因此,如果过滤器是简单的 A == B,则该函数应该接收 A [A,B,A,C,D,A] 并输出 [B,C,D],并删除所有显然,过滤器适用。
我在函数的基本结构上遇到了麻烦,所以如果有人可以为这样的函数提供一个基本的大纲,那将会有很大的帮助。我已经尽可能地简化了我的情况,所以我可以接受你可以提供的任何东西,并根据我的需要进行修改。
提前致谢!