Simple Prolog frage?



  • Ich find einfach keine Communities rund um dieses Ding 😕

    Ich hab eine DB, die so aussieht:

    entry(e1).
    entry(e2).
    entry(e3).
    

    Und versuche sehnlichst ein Prädikat zu bauen, welches mir einfach alle entry-einträge ausgibt, und zwar auf einmal, also wenn ich ein prädikat aufrufen, sollte es mit write alle einträge liefern, so in der Art

    ?- showall
    e1 found
    e2 found
    e3 found
    yes
    

    Ich hab nur Probleme ein Prädikt zu formulieren, dass das kann.
    Beispiel:

    showall(Y) :- entry(Y), write(Y),nl.
    

    Funktioniert, gibt aber immer nur EINEN Eintrag raus, ich kann mit Semikolon den Prolog Parser bitten, dass er zu dem Choice-Point geht und mir den nächsten Eintrag ausspuckt, aber wie automatisier ich denn das? Dabei müssen die entry Einträge so bleiben, also nicht zur Liste werden.


Anmelden zum Antworten