gpt4 book ai didi

prolog - 在 Prolog 中实现堆栈

转载 作者:行者123 更新时间:2023-12-02 04:50:41 26 4
gpt4 key购买 nike

我需要一种在 Prolog 中执行以下操作的方法。

我想要定义一个变量列表。例如 [x,z,k,s,r,v,w]

然后我希望我的一个函数能够从列表中弹出第一个元素,以某种方式使用它,然后当它需要另一个元素时,我希望它从该列表中弹出下一个元素。也许当函数完成时,我希望它将列表重置为其原始状态。

我想不出通过简单地将列表作为参数传递来做到这一点的方法。对于面向对象编程来说这真的很简单。因为我可以有一个全局变量。

最佳答案

我不确定我是否完全理解你的问题,但我认为堆栈的实现非常简单。

pop([X|List],X,List). 会将列表的头部与 X 统一,这样你就可以随心所欲地使用它。 push(X,List,[X|List]) 将把第三个参数统一为一个新的 List,并将 X 推到其头部。

或者也许我完全没有听懂你的问题...

关于prolog - 在 Prolog 中实现堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8296384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com