Вопрос просто ... почему это не работает?
replace([l|[r|[r|[l|R]]]], Result) :- append([f,f],R,Result).
replace([HEAD|TAIL], Result) :- replace(TAIL, Y), append(HEAD,Y,Result).
?- replace([l,r,r,l,r,r],X).
возвращает
X = [f, f, r, r] .
но
?- replace([r,l,r,r,l,r,r],X).
дает
false
почему бы не X = [r, f, f, r, r] .
?
, пожалуйста, помогите.
PS.Я все еще учу английский, но иногда я делаю глупые ошибки.Я делаю все возможное, пишу вопросы и ответы на английском языке, однако я был бы очень рад, если вы отредактируете мой пост в случае каких-либо ошибок.Обещаю, ваши усилия не пропадут даром.