2014-11-17 2 views
0

В настоящее время я изучаю код в Прологе. Я пытался подключить 2 списка, чтобы создать новый список, так что за первым элементом первого списка будет следовать первый элемент второго, за которым последует второй элемент первого списка и т. Д. Вот пример того, о чем я говорю. Может кто-нибудь объяснить мне, что я делаю неправильно? Это может быть очень простая ошибка, которую я не поймаю, потому что я все еще участвую.Beginner Prolog. Использование списков и рекурсии. (соединительные списки вместе)

Первый список: (д, г, с) второй список: (л, м, п)

Окончательный список: (д, л, т, м, с, п)

+0

это известно как zip/3 – CapelliC

ответ

1

You необходимо использовать заголовок каждого правила, чтобы указать, когда оно применяется. Например:

connectLists([],L,L). 
connectLists(L,[],L). 
connectLists([H1|T1],[H2|T2],[H1,H2|T]) :- 
    connectLists(T1,T2,T).