Ich bin daran interessiert, eine lange Verkettung von Listen unter Verwendung der Prolog-Sprache durchzuführen. Ziel ist es, ein Prädikat zu definieren, das eine unbekannte Anzahl von Listen erhält und sie alle zu einer Liste verkettet (die als zweites Argument für das Prädikat angegeben wird).Wie führt man eine lange Verkettung von Listen in Prolog durch?
Ich weiß, ich sollte zuerst verstehen, wie Prolog Argumente mit unbegrenzter Größe unterstützt, aber ich denke, die Antwort darauf ist die Verwendung von Listen, zum Beispiel: [a | [[b, c, d] | [[e, f, g] | [h, i, j, k]]]].
Wenn ja, dachte ich über das Prädikat etwas wie diese zu schreiben:
l_conc([ ],[ ]).
l_conc([[ ]|Tail],L):-
l_conc(Tail,L).
l_conc([[Head|L1]|Tail],[Head|L2]):-
l_conc([L1|Tail],L2).
Es ist jedoch nur leere Listen miteinander verkettet. Bitte helfen Sie mir hier (sowohl in Bezug auf die Darstellung der Argumente und das Prädikat selbst) :-) Danke!
[Hier ist eine Antwort] (http://stackoverflow.com/a/9787502/772868). – false