Как сделать вложенный оператор if-else в Прологе?

Если бы у меня была эта функция:

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

но что, если бы я также хотел проверить, равно ли N == M? Может быть так:

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

Похоже, не работает.

8
задан false 25 January 2014 в 21:36
поделиться