Wie machst du eine Verschachtelte if-else-Anweisung im Prolog?

Wenn ich diese Funktion haben:

min(List1, List2, Output) :-
   length(List1, N),
   length(List2, M),
   (   N < M ->
       Output = 'true'
   ;   Output = 'false'
   ).

aber was ist, wenn ich wollte auch überprüfen, ob N == M? Vielleicht so:

min(List1, List2, Output) :-
   length(List1, N),
   length(List2, M),
   (   N < M ->
       Output = 'true'
   ;   (  N = M ->
          Output = 'equal'
       ;  Output = 'other'
       )
   ).

Scheint nicht zu funktionieren.

  • Was genau scheint nicht zu funktionieren? Sie bekommen Antworten, die Sie nicht erwarten, oder hat es nicht kompilieren?
InformationsquelleAutor Bramble | 2010-11-16
Schreibe einen Kommentar