Пролог - манипулирование одним и тем же списком несколько раз - PullRequest
0 голосов
/ 12 марта 2020

Я новичок в Прологе и пытаюсь изменить список, удалив элементы по индексам.

Например:

remove(1,[1,2,3],Z).  
Z is [1,3]. 

Однако, когда я снова пытаюсь запустить этот предикат, список отправляется как [1,2,3].

Насколько я искал, я думаю, что это не может быть реализовано в Прологе. Это правда?

И если это правда, какие альтернативы я могу попробовать?

Я застрял в этом в течение долгого времени, и действительно любая помощь приветствуется.

1 Ответ

0 голосов
/ 12 марта 2020

Использование предопределенных предикатов nth0 / 3 и select / 3

?- nth0(1,[1,2,3],Element),select(Element,[1,2,3],Z).
Element = 2,
Z = [1, 3] ;
false.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...