【发布时间】:2020-11-20 04:36:24
【问题描述】:
我正在编写序言来打印列表的每个元素,只要计数器大于 0。
printLN([],_).
printLN(_,-1).
printLN([[x,y] | T], N) :-
write(x), write(y), nl,
N2 is N-1,
printLN(T, N2).
这应该打印 3 对。
printLN([[1,2],[3,4],[5,6]], 2).
这应该打印 3 对。
printLN([[1,2],[3,4],[5,6]], 8).
这应该打印第一对。
printLN([[1,2],[3,4],[5,6]], 0).
不过,我一直在说假话。有人知道为什么会这样吗?
同样,我该如何执行:
getPartialList(N) :-
getList(LIST), printLN(LIST, N).
其中 getList 返回一个对列表,例如:
getList([[1,2],[3,4],[5,6]]).
【问题讨论】:
标签: prolog