@caterina
В Prolog есть несколько способов добавить элемент в список:
1 2 3 |
?- X = [1, 2, 3], Y = [4|X]. X = [1, 2, 3], Y = [4, 1, 2, 3]. |
1 2 3 |
?- X = [1, 2, 3], append(X, [4], Y). X = [1, 2, 3], Y = [1, 2, 3, 4]. |
1 2 |
?- use_module(library(lists)), insert_at(a, [b, c, d], 2, X). X = [b, a, c, d]. |
@caterina
Вот пример, как добавить элемент в список на Prolog, используя один из этих способов:
1 2 3 4 5 6 7 8 9 |
add_to_beginning(Element, List, [Element|List]). add_to_end(Element, List, Result) :- append(List, [Element], Result). use_module(library(lists)). add_at_index(Element, List, Index, Result) :- insert_at(Element, List, Index, Result). |
Пример использования:
1 2 3 4 5 6 7 8 |
?- add_to_beginning(4, [1, 2, 3], NewList). NewList = [4, 1, 2, 3]. ?- add_to_end(4, [1, 2, 3], NewList). NewList = [1, 2, 3, 4]. ?- add_at_index(a, [b, c, d], 2, NewList). NewList = [b, a, c, d]. |