Как мне сделать рекурсию в прологе? - PullRequest
0 голосов
/ 04 декабря 2018

Я создаю рекурсивную функцию, которая возвращает мне список в Mem.Совершенно все циклически, а затем с прологом возврата возвращается пустой список.Справка.

Iniz([A1,A2|T], A1, Mem) :-
       append([],[], Mem),
       cicl([A2|T],A2, Mem).

cicl([],[], Mem) :- !.

cicl([A2],A2, Mem) :-
       string_chars(A2,A1_1),
       op(A1_1, Operation),!,
       append(Mem, [Operation], Lista),
       cicl([],[],Lista).

cicl([A1,A2|T],A1, Mem) :-
       string_chars(A1,A1_1),
       write("no operation"),
       nth0(0, A1_1, /),    
       nth0(1, A1_1, /),
       cicl([A2|T],A2, Mem).

cicl([A1,A2|T],A1, Mem) :-
      string_chars(A1,A1_1),
      nth0(0, A1_1, C), nth0(1, A1_1, C1),
      C \= /,
      C1 \= /,
      op(A1_1, Operation),!,
      append(Mem, [Operation], Lista),
      cicl([A2|T],A2, Lista).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...