[英]Prolog write list function exit condition
我是 Prolog 的新手,正在嘗試定義一個簡單的函數來寫一個列表。 到目前為止,我有;
printList([Head|Tail]) :-
write(Head), nl,
printList(Tail).
當我像printList([[1,2],[3,4],[5,6]])
這樣調用這個函數時printList([[1,2],[3,4],[5,6]])
它寫道:
[1,2]
[3,4]
[5,6]
false
除了顯示在列表底部的 false 之外,上面的輸出是正確的。 我假設 is 顯示為 false 因為在printList
函數上沒有某種退出條件來控制列表何時為空。 我該怎么做? 謝謝!
確切地!!! 你需要一個空列表規則。 寫就好了:
printList([]).
printList([Head|Tail]) :-
write(Head), nl,
printList(Tail).
例子:
?- printList([[1,2],[3,4],[5,6]]).
[1,2]
[3,4]
[5,6]
true.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.