我需要一种在Prolog中执行以下操作的方法.
我想要定义一个变量列表.例如[x,z,k,s,r,v,w]
然后我希望我的一个函数能够从列表中弹出第一个元素,以某种方式使用它,然后当它需要另一个元素时,我希望它从该列表中弹出下一个元素.也许当函数完成时,我希望它将列表重置为原始状态.
通过简单地将列表作为参数传递,我无法想到这样做的方法.使用OO编程时,这非常简单.因为我可以拥有一个全局变量.
我不确定我是否完全理解你的问题,但我认为堆栈实现起来非常简单.
pop([X|List],X,List).
将使用X统一列表的头部,因此您可以根据需要使用它.并且push(X,List,[X|List])
将统一第三个参数一个新的List与X推进其头部.
或者也许我完全没有问你问题......