Prolog (Abfrageauswertung in eine Liste packen)

magix

Redshirt
Mitglied seit
07.11.2005
Beiträge
1
Renomée
0
Hallo,

ich habe ein großes Problem bei Prolog, folgendes:

ich habe die Regeln:

elternteil(hans,lisa).
elternteil(hans,franz).

und mit der Abfrage:
elternteil(hans,A).

bekomme ich folgende Ausgabe:
A = lisa;
A = franz.

Yes

Ich möchte aber die Ergebnisse in eine Liste packen, ist das möglich, wenn ja wie?

Danke schon mal im voraus.
 
Code:
elternteil(hans,lisa).
elternteil(hans,franz).
el(C, A) :- elternteil(C, H1), elternteil(C, H2), H1 \== H2, append([], [H1,H2], A), !.
el(C, [H1]) :- elternteil(C, H1), !.
Anfrage:
?- el(hans, A).

Geht vermutlich auch einfacher. Das 2. el/2 ist für den Fall, dass nur 1 Elternteil definiert ist.
 
Zurück
Oben Unten