Странный оператор (!) в Prolog
-
29-10-2019 - |
Вопрос
hi(g,plus(A,B),int) :- hi(g,A,int),hi(g,B,int),!.
в приведенном выше утверждении что делает знак "!" в конце утверждения?
Решение
Это тот самый оператор резки, который в основном гласит: "если мы добрались сюда, не возвращайтесь назад".
Итак, если оба рекурсивных вызова завершаются успешно, то hi
предикат не будет повторять их.
Не связан с StackOverflow