Обратите внимание, что B
- это не список, по которому вы хотите повторить , вы хотите добавить элемент A
в тот же список B
.
.Самый простой способ достичь этого, вероятно, поменять порядок элементов в custom_append/3
на:
custom_append(<b>Y</b>, <b>X</b>, [X|Y]).
, и тогда мы сможем получить это, используя maplist/3
:
maplist(<b>custom_append(B)</b>, A, R).
мы, таким образом, уже делаем что-то, что ведет себя очень похоже на частичное применение : мы передаем функтор custom_append(B)
, и Пролог затем сделает вызов с custom_append(B, A<sub>i</sub>, R<sub>i</sub>)
(A<sub>i</sub>
и R<sub>i</sub>
здесь используется для обозначения элементов списков A
и R
).