2014-10-07 61 views
0

我想做一个否定的基本情况,也就是说,如果参数是一个空列表,则该规则不应起作用。序言中的否定谓词

\ + fun([])。

一种选择是在我为乐趣编写的每条规则(L)中放置一个“L =/[]”,但是只有一个否定谓词会更好。

+2

为什么不定义规则非空列表而不是空列表的前加?然后它会失败的空列表。您应该举例说明一个示例规则。另外,'L =/[]'不正确。你的意思是'L \ = []'。 – lurker 2014-10-07 01:59:43

回答

0

听起来像是你想

fun([_|_]). % true if argument is a list of at least 1 element 
0

每隔fun条款

fun([]) :- !, fail.