2012-04-19 99 views
0

我想從規則數據到一個列表,以便進行進一步處理, ,比如我有:轉換規則轉換成列表

course_meetings(comm401,教程,T07,mohamed_esameldin,「教程T07」) 。course_meetings(comm401,教程,t08,sally_mahmoud,'教程t08')。course_meetings(comm401,tutorial,t09,mohamed_esameldin,'t09教程')。course_meetings(comm401,tutorial,t10,sally_mahmoud,'t10教程')。course_meetings(comm401,講座,all_group_4,dr_amr_talaat,'講座1')。

我想要改造這個規則到像這樣的列表: [comm401,教程,T07,mohamed_esameldin, '教程T07'],[comm401,教程,T08,sally_mahmoud, '教程T08'], [comm401,教程,T09,mohamed_esameldin,「教程T09」]

預先感謝您的幫助,我在序言新手,希望我的問題心不是含糊其辭, 還是否有更好的方式來處理這個數據請直接給我, 謝謝。

回答

0

嘗試?- findall([A,B,C,D,E], course_meetings(A,B,C,D,E), L).

+0

非常感謝該WAAS有用:d 感謝 – 2012-04-20 10:56:17

+0

但是,由於它的工作,它給人的第一4個事實然後開始給我列出的形式[CSEN401 | .....],[.. 。| ...] | ......] 我試着將堆棧大小增加到4GB,但它仍然沒有工作 我用這個命令「#!/ usr/bin/swipl -G4g -s」 – 2012-04-20 11:19:39

+0

這只是方式SWI-Prolog壓縮過大的結構進行顯示。價值在那裏。嘗試實例'? - findall(...),maplist(writeln,L)。' – CapelliC 2012-04-20 11:24:51