如何在Prolog中存储和访问变量中的列表?

时间:2010-10-05 19:14:57

标签: list variables 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).

我想要做的是在Prolog中调用以下内容:

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

目标是避免不断地将长列表输入Prolog解释器,而是将它们存储在.pl文件中。但是,输入上述命令会导致列表未根据给定子句进行正确检查。如何实现这一点,最好使用上面的结构来存储列表{listContents([a,b,c,d])。}?

1 个答案:

答案 0 :(得分:0)

我认为你需要在Prolog中修改你的电话

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