Also der univ-Operator. Ich verstehe es nicht genau.Prolog GNU - Univ Betreiber? Erklärung davon
Zum Beispiel dieses:
foo(PredList,[H|_]) :- bar(PredList,H).
foo(PredList,[_|T]) :- foo(PredList,T),!.
bar([H|_],Item) :- G =.. [H,Item],G.
bar([_|T],Item) :- bar(T,Item).
Was ist dies zu tun? Dies sieht aus, ob ein anderes Prädikat wahr ist. Ich verstehe nicht, was das ".." tut.
Wie würden Sie dies ohne den univ-Operator umschreiben?
+1 für die Frage, wie man ohne univ. Übrigens gibt es die ISO-Prädikate funktor/3 und arg/3, die in einigen Fällen die Aufgabe erfüllen könnten und bevorzugt werden sollten, aber ich bin mir nicht sicher, ob sie immer verwendet werden können. – Kaarel
@Kaarel, +1. Meine Antwort wurde aktualisiert. –