在Prolog中,我正在查看带有列表的list.pl文件
list([5,2,1,6,3]).
我可以使用输出正确查询列表(X):
1 ?- list(X).
X = [5, 2, 1, 6, 3]
但我尝试将列表查询与规则结合起来。这可能吗?我检查了规则的逻辑,如果我在规则查询中声明了列表,它就能正常工作,例如:
reverse([5,2,1,6,3], What).
我真正想做的是调用文件中的指定列表进行反向清理,如果可能的话,我不必为所有查询不断输入列表。< / p>
提前谢谢
答案 0 :(得分:0)
您可以在pl文件中添加以下规则,然后可以调用反向谓词
reverse([],[]).
reverse([H|T], What):-
reverse(T,ReverseList),
append(ReverseList,[H], What).