Ich habe ein Prädikat wie:Prolog - Rückzieher mit Iterator
solve(parts(X), Places) :-
"iterate Pl from Places to 0",
tryPutPart(X, Pl),
fail.
ich dort den Rückzieher zwingen will, weil ich alle möglichen Lösungen will (Stattdessen würde ich den Platz Pl rekursiv in verschiedenem Prädikat gefunden habe.).
Ist es möglich, es irgendwie zu tun? Ich kam auf die Idee, eine Liste mit der Länge Places
zu erstellen, die wie [1, 2, 3.....]
aussieht, und dann zu versuchen, einige Y-Werte deterministisch zu löschen.
Das Verhalten Ich mag würde, wenn ich places(0). places(1). places(2). - ... -
geschrieben und so weiter in den Code und schrieb es dann wie
:- places(Y), tryPutPart(X, Y).
Sie Frage ist ein bisschen chaotisch. Ich verstehe nicht, was Sie erreichen wollen. Bitte versuchen Sie es neu zu formulieren. –