小编pet*_*etr的帖子

在Prolog中递归后返回一个值

我决定研究一些逻辑编程,我偶然发现了一个问题.它在SWI Prolog中编程.

test(A, B, N):-
 nonvar(B),
 B = final,
 true.

test(A, B, N):-
 N > 2,
 test(A, final, N).

test(A, B, N):-
 N1 is N + 1,
 test(N1, B, N1).
Run Code Online (Sandbox Code Playgroud)

它只是一个没有实际用途的样本,除非它让我发疯.

问题是当代码达到真时,它开始追溯并回答"真".但我需要"返回"价值A.我该怎么做?

logic prolog

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

logic ×1

prolog ×1