0
我想做一个否定的基本情况,也就是说,如果参数是一个空列表,则该规则不应起作用。序言中的否定谓词
\ + fun([])。
一种选择是在我为乐趣编写的每条规则(L)中放置一个“L =/[]”,但是只有一个否定谓词会更好。
我想做一个否定的基本情况,也就是说,如果参数是一个空列表,则该规则不应起作用。序言中的否定谓词
\ + fun([])。
一种选择是在我为乐趣编写的每条规则(L)中放置一个“L =/[]”,但是只有一个否定谓词会更好。
听起来像是你想
fun([_|_]). % true if argument is a list of at least 1 element
每隔fun
条款
fun([]) :- !, fail.
为什么不定义规则非空列表而不是空列表的前加?然后它会失败的空列表。您应该举例说明一个示例规则。另外,'L =/[]'不正确。你的意思是'L \ = []'。 – lurker 2014-10-07 01:59:43