删除列表中未分配成员(Delete an unassigned member in list)

2019-10-19 03:45发布

我写的代码,以获得一些特定的输出(2列表),它的工作,并给我我需要什么,但有两个列表未分配的元素,如下图所示,所以我的问题是:如何删除帖未分配元素。

 Courses = [_G1619, linear, _G1607, physics2, physics1, calculas1|_G1590],
Marks = [_G1622, 78, _G1610, 90, 80, 78|_G1593] 

Answer 1:

在SWI-Prolog中有一些列表处理工具喜欢排除 / 3,其允许指定一个谓词被每个元素使用。 VAR / 1似乎是适当的。 例如

2 ?- exclude(var,[1,A,B,2,3|L],R).
L = [],
R = [1, 2, 3] ;
...

(注意:在发出呼叫后切摆脱了不确定性的)。

我很惊讶地发现它也去掉了尾巴无界 - 我认为这将需要一个适当的列表。 然后,它应该符合你的要求。



文章来源: Delete an unassigned member in list
标签: prolog