2013-02-28 2 views
0

В упражнении первое, что мне нужно, это получить некоторые факты, указав существование одного места в списке. Кто-то мне помогает.Добавить в список в прологе

example. 
exists(place). 
exists(place2). 

код до сих пор:

listarB([]). 
listarB([B|T]):- exists(B),listarB(T). 

Теперь я попытался получить список списков. Каждый список, который мне нужен, считается аргументом каждого из мест, которые я пытался получить.
Теперь у меня есть список мест, где я пытался получить списки каждый из них имеет в качестве аргумента и хранить их в другом списке ([HL | TL])

код до сих пор:

listListBus([],[]). 
listListBus([HB|TB],[HL|TL]) :- 
    HB = base(_,[_|_],HL), 
    listListBus(TB,TL).  

ответ

0

Вы должны использовать findall/3 собрать все места, которые «существуют»:

listarB(L):- 
    findall(B, exists(B), L). 
+0

это было здорово, спасибо человеку. – jmiguel

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