我写的代码,以获得一些特定的输出(2列表),它的工作,并给我我需要什么,但有两个列表未分配的元素,如下图所示,所以我的问题是:如何删除帖未分配元素。
Courses = [_G1619, linear, _G1607, physics2, physics1, calculas1|_G1590],
Marks = [_G1622, 78, _G1610, 90, 80, 78|_G1593]
我写的代码,以获得一些特定的输出(2列表),它的工作,并给我我需要什么,但有两个列表未分配的元素,如下图所示,所以我的问题是:如何删除帖未分配元素。
Courses = [_G1619, linear, _G1607, physics2, physics1, calculas1|_G1590],
Marks = [_G1622, 78, _G1610, 90, 80, 78|_G1593]
在SWI-Prolog中有一些列表处理工具喜欢排除 / 3,其允许指定一个谓词被每个元素使用。 VAR / 1似乎是适当的。 例如
2 ?- exclude(var,[1,A,B,2,3|L],R).
L = [],
R = [1, 2, 3] ;
...
(注意:在发出呼叫后切摆脱了不确定性的)。
我很惊讶地发现它也去掉了尾巴无界 - 我认为这将需要一个适当的列表。 然后,它应该符合你的要求。