Возьмите элементы из одного списка и добавьте к другому - PullRequest
1 голос
/ 31 марта 2011

Мне нужна функция, которая будет принимать два списка A и B и возвращать списки Aout и Bout, чтобы элементы от начала A до заданного элемента (скажем, атом 'a') были удалены и добавлены к конец B, отбрасывая персонажа. Моя попытка ниже:

% usage: take_while(A, Aout, B, Bout)

take_while([], [], B, B).

take_while(['a'|As], As, B, B).

take_while([A|As], As, B, Bout) :-
        append(B, [A], Bout),
        %take_while(???

Последний пункт может быть неправильным подходом. Как мне это сделать?

1 Ответ

0 голосов
/ 31 марта 2011

Похоже, вам нужно просто добавить вызов take_ while в последнее предложение: (На самом деле, я не уверен, зачем нужен второй параметр, поэтому я удаляю его из этого ответа).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...