Я новичок в Прологе, и у меня возникают проблемы, когда моя переменная, кажется, забылиПролог забывает/не доказывает мою переменную?
test(S) :-
X = 'testing',
(S = y, write(X));
(S = n, write(X)).
Бег
test(y)
печатает текст, как ожидалось, но
test(n)
печатает
_L160
Который я предполагаю, что переменная не является константой? Почему это происходит?
Я знаю, что он может выплюнуть ее в два предикат, как:
test(y) :- X = 'testing', write(X).
test(n) :- X = 'testing', write(X).
но моя фактическая проблема заключается в гораздо большем предикате, что не может быть упрощен, как это.