Prolog if/else-Anweisung mit "oder" - Bedingung
Ich bin neu in Prolog, und ich bin versucht zu schreiben, eine if/else-Anweisung mit einer "oder" - Bedingung. Also, um zu demonstrieren, möchte ich etwas wie:
gothrough([H|T], B, C):-
( T == [] or H == 'then' %if either the tail is an empty list or if H == "then", do the following%
-> append(H,B,B), outputs(B,C)
; append(H,B,B), gothrough(T, B, C) %else%
).
Diese Umsetzung nicht funktioniert, aber; ist es eine offensichtliche Weg, dies zu tun, ich bin nicht immer?
Dank!
InformationsquelleAutor pauliwago | 2013-02-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Prolog, Einsatz ";" für oder und "," für und.
Beachten Sie, dass append(H, B, B) schlägt immer fehl, wenn H unterscheidet sich von [].
Schreiben Sie
Anhängen von Ketten-Listen, zum Beispiel
append([1], [2], B)
gibt B = [1,2], so wird die thirs argument von append ist immer anders, der das zweite argument, wenn die Tannen arg anders ist die leere Liste.InformationsquelleAutor joel76