2016-04-24 3 views
0

, когда мы делаем функцию добавления в прологе, тогда я думаю, что это ответ на этот вопрос.решить простую функцию append, используя пролог-язык

append([],L,L) 
append([H|T],L,[H|R]):- append(T,L,R). 

, но у меня нет четкого значения it.please, дайте мне это. в чем смысл персонажа «L»? цель??? (добавьте ([H | T], L, [H | R]): - добавьте (T, L, R). дайте мне указание на эту строку)

ответ

1

В общем, ваш предикат append принимает 3 аргумента (L1 , L2, L3):

append(L1, L2, L3) 

Append говорит вам, если L3 список в результате добавления L1 к передней части L2.

Для первого случая:

append([],L,L) 

Вы дать базовый вариант для добавления (то есть то, что является результатом пустого списка, приложенного к некоторому списку, L В результате только первоначальный список, L.) ,

Вашего второй случай говорит, как вы можете доказать некоторый список [H|T] прилагаемого к передней части другого списка L, чтобы создать какой-либо другой список [H|R] где H является главой первого списка ввода и вывода списка.

append([H|T],L,[H|R]):- append(T,L,R). 

Вторая часть этого правила говорит, что это только справедливо, если можно доказать, что список R является результатом добавления T (хвост исходного списка ввода) в L.

Смежные вопросы