2
我有對列表,例如[[1,2],[1,3],[1,4],[2,1],[2,2],...]在序言中,我怎麼能在規則失敗之後保持競爭?
function([[H1, H2| _]|Rest]):-
conflicts(H1,H2),
write('conflict: '), write(H1), writeln(H2),
function(Rest).
function([]).
我可以將H1作爲「1」,將H2作爲「2」。
規則根據一些規則進行比較,它工作正常。
「1」和「2」衝突。所以conflicts
返回true
它在第一次迭代時寫入「衝突1 2」。
「1」和「3」不衝突。所以conflicts
在第二次迭代時返回false
。
如您所料,通話以false
結束。
我想繼續第三次迭代,第四次和第五次...。如果第三對衝突,它會寫;否則,它將繼續不寫。
我該怎麼做? 非常感謝。
只是一個標誌點:如果你有「雙」,你可以說,'[H1,H2]'。你不需要'[H1,H2 | _]',因爲尾部是'[]'。 @PauloMoura提出了一些更有效的替代方案。 – lurker