Stellen Prolog Rückkehr eine Lösung und beenden Sie die Anzeige der Abfrage-option

Ich bin neu in prolog und am Experimentieren mit, wie man es halt Abfragen nach findet er eine Antwort. Ich bin mit diesem code:

member1(L,[L|_]).                    
member1(L,[_|RS]) :- member1(L,RS),!.      

Ist das Ergebnis:

| ?- member1(3,[3,2,3]).

true ? a

yes

Ich bin verloren, wie ich bekommen konnte, Prolog zu stoppen, drucken "true ?" und drucken Sie einfach "ja" statt. Ich habe versucht, mit if/else-Konstrukt-und die format-Funktion, aber es immer noch gibt "true ?". Irgendwelche Ideen?

  • Sie wollen einfach nur eine Antwort? eine true ? True bedeutet, dass die 3 ist ein Mitglied der Liste [3,2,3]. Der zweite wahr ist, dass die Abfrage fand es wieder in der Liste. ` member1(2,[3,2,3]).` geben würde, Sie nur eine wahr.
  • Wenn Sie die EINGABETASTE drücken, nachdem die erste true (statt ;), es würde aufhören, backtracking
InformationsquelleAutor user3026297 | 2013-11-24
Schreibe einen Kommentar