В настоящее время я пишу предикат, который будет работать по списку списков и вставить значение я рассчитал на начало списказначения вставляя в начало каждого подсписка
Шаг один легко, просто выполнять вычисление для каждого списка и объединение переменной N с ним.
checkthrough([]).
checkthrough([H|T]):-
count_validentries(H,N),
checkthrough(T).
То, что я пытаюсь достичь сейчас поставить эту переменную N на начало каждого из моих подсписков, так что каждый список начинается с подсчета действительных записей.
Я попытался сделать это с помощью аккумулятора. Попытка начать с пустым списком, и каждый раз, когда добавить новое значение N и голова списка к нему:
checkthrough([],Sofar,Lastone).
checkthrough([H|T],Sofar,Lastone):-
count_validentries(H,N),
Newsofar is [N,H|Sofar],
checkthrough(T,Newsofar,Lastone).
Я совершенно уверен, что я делаю действительно глупую ошибку где-то вдоль линий , Это недействительно синтаксис Prolog, в противном случае с арифметикой: «[2 внутренние переменные]» не является функцией.
У вас есть вопросы?