2014-10-07 62 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.