gpt4 book ai didi

variables - prolog - 打印变量的值

转载 作者:行者123 更新时间:2023-12-03 21:47:40 24 4
gpt4 key购买 nike

我只是不知道如何打印 X 的值.这是我在顶层尝试过的:

59 ?- read(X).
|: 2.
X = 2.

60 ?- write(X).
_G253
true.

什么是 _G253 ?我不想要索引号,我想要 X 绑定(bind)的值。
我应该怎么做才能打印 X 的值?

最佳答案

当您键入 write(X).在交互式提示下,仅此而已,X 不受任何特别约束。如果您想从用户那里读取 X 然后写入它,请尝试输入 read(X), write(X).在提示下。

?- read(X), write(X).
|: 28.
28
X = 28.

SWI Prolog 确实保留了顶级绑定(bind)的历史;类型 help.进入手册,然后搜索 bindings或者只是导航到手册的第 2.8 节“顶层绑定(bind)的重用”。在那里,您可以了解到成功的顶级目标中绑定(bind)的任何变量的最新值都将被保留,并且可以使用以美元符号为前缀的变量名称来引用。所以像下面这样的交互是可能的:
?- read(X).
|: 42.
X = 42.

?- write($X).
42
true.

但是恰好使用变量名 X 的顶级目标将被解释为使用新变量;否则会违反 Prolog 的正常语义。

关于variables - prolog - 打印变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12923018/

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