2010-10-05 56 views
0

我正在嘗試學習一門課的Prolog基礎知識。我遇到了一個看似簡單的問題:無法在規則中存儲列表,並檢索它以用於其他子句。例如:如何在Prolog中存儲和訪問變量中的列表?

% These are the contents of the pl file I want to consult 

% Numbers I want to process 
inputList([3,2,1,0]). 

% Prints out the contents of a list 
printList([First | Tail]) :- 
    write(First),nl, 
    printList(Tail). 

我想要做的就是調用內序言如下:

?- inputList(X). 
?- printList(X). 

的目的是爲了避免不斷地進入長列表到Prolog的解釋,而是把它們存儲在特等文件。但是,輸入上述命令會導致列表未按照給定的子句進行正確檢查。這怎麼能完成,最好使用上面的結構來存儲一個list {listContents([a,b,c,d])。}?

回答

0

我想你需要修改你的序言中呼籲

?- inputList(X), printList(X). 
相關問題