Мне была поручена часть кода, которая считывает два списка и находит путь между этими двумя списками.
Однако у меня проблема с чтением и возвратом ИСТИННОГО случая, если я найду нужный узел в первом списке. Я пишу свой код, как показано ниже.
%declare the list
circle_line([cc1,cc2,cc3,cc4,cc5,cc6,cc7,cc8,cc9,cc10,cc11,cc12,cc13,cc14,cc15,cc16]).
%the predicate that finds the station i need
check_for_station(A) :- circle_line(X),
member(A,X),
write(A),nl.
Тогда в косоле я наберу: check_for_station(cc9)
.
Но я получаю ответ "нет".
У меня такое ощущение, что я объявляю список неверным, потому что в отладчике значение X оказывается «H135» или чем-то еще, и оно явно не проходит через каждый элемент, чтобы найти тот, который мне нужен.