Пролог - лучший способ устранить дублирующийся ответ в особом случае ?

У меня были проблемы с этими двумя строками:

list_swizzle(L, [], L).
list_swizzle([], L, L).

Проблема заключалась в том, что если оба из первых двух arguments - пустой список, будут использоваться первые два оператора, возвращающие один и тот же ответ. Однако, если я разрежу один, это приведет к сбою в возврате. В конце концов я поставил над ними эту строку:

list_swizzle([], [], []):- !.

И это работает. Но мне было интересно, есть ли более элегантное решение.

5
задан false 10 November 2012 в 22:24
поделиться