我试图理解这段代码的用途,但我无法理解.你能解释一下吗?
co_to(I, I, [I]).
co_to(I, L, [I|L]) :- I < K, I1 is I + 1, co_to(I1, K, L).
Run Code Online (Sandbox Code Playgroud)
正如gusbro在他的评论中指出的那样,这段代码不起作用.但是,如果你将第二个子句的头部改为
co_to(I, K, [I|L]) :- ...
Run Code Online (Sandbox Code Playgroud)
然后它会产生一个目标co_to(X,Y,L)
列表L
编号范围从X
到Y
,例如:
?- co_to(5,10,L).
L = [5, 6, 7, 8, 9, 10]
Yes (0.00s cpu, solution 1, maybe more)
No (0.02s cpu)
Run Code Online (Sandbox Code Playgroud)