Gibt einen Wert zurück, nachdem eine Rekursion in Prolog

Ich entschied mich für das Studium einige Logik-Programmierung und ich stieß auf ein problem.
Es ist programmiert in 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).

Es ist nur ein Beispiel, keine wirkliche Verwendung, außer es ist driving me crazy.

Das problem ist, dass wenn der code erreicht wahr wäre, dann startet die Verfolgung zurück und Antworten "wahr". Aber ich muss die "return" - Wert A. Wie mache ich das?

Eine kurze Frage: was tun Sie eigentlich den code zu tun?

InformationsquelleAutor petr | 2010-01-29

Schreibe einen Kommentar