我有更多的可能列表作爲目標,但我只需要一個最長的列表。是否有可能獲得第一個最長的列表?獲得最長的列表作爲目標在序言
li-->[a]|[b]|[c].
int-->['1']|['2']|['3'].
num-->int,num_nl.
num_nl-->num|[].
list1-->num,li.
classify(L,S,R):-list1(S,[]),extract(S,L,R).
extract(S,L1,L2):-append(L11,L22,L1),append(S,L3,L22),append(L11,L3,L2).
這裏出錯:本地stack.I的希望只有最長的名單爲目標:
?-classify([c,'1','1',a,f],S,R).
S = ['1', '1', a], R = [c, f] ;
false.
?-classify([c,'1','2','3',a,f,'1','1','2','3',b],S,R).
S = ['1','2','3',a], R = [c, f,'1','1','2','3',b] ;
false.`
您可以顯示分類謂詞怎麼看?難以幫助,否則 – Limmen
好的。現在我添加pridicate.is可能得到答案? – Gamsh
這很混亂。你有沒有嘗試過自己調試?你想要達到什麼目的?你希望從那個查詢中得到什麼答案? –