Variables prolog-打印变量的值

Variables prolog-打印变量的值,variables,prolog,return-value,Variables,Prolog,Return Value,我就是不知道如何打印X的值。以下是我在顶层尝试的内容: 59 ?- read(X). |: 2. X = 2. 60 ?- write(X). _G253 true. 什么是\u G253?我不想要索引号,我想要X的值。 要打印X的值,我应该怎么做?当您在交互式提示下键入write(X)。除此之外,X不绑定任何特定内容。如果要从用户处读取X,然后写入,请尝试在提示下键入read(X),write(X)。 ?- read(X), write(X). |: 28. 28 X = 28. SWI

我就是不知道如何打印
X
的值。以下是我在顶层尝试的内容:

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

60 ?- write(X).
_G253
true.
什么是
\u G253
?我不想要索引号,我想要X的值。 要打印
X
的值,我应该怎么做?

当您在交互式提示下键入
write(X)。
除此之外,X不绑定任何特定内容。如果要从用户处读取X,然后写入,请尝试在提示下键入
read(X),write(X)。

?- read(X), write(X).
|: 28.
28
X = 28.
SWI Prolog确实保存了顶级绑定的历史记录;键入
帮助。
进入手册,然后搜索
绑定
或导航到手册的第2.8节“重用顶级绑定”。在这里,您可以了解到在成功的顶级目标中绑定的任何变量的最新值都会被保留,并且可以使用变量名称(前缀为美元符号)进行引用。因此,可以进行如下交互:

?- read(X).
|: 42.
X = 42.

?- write($X).
42
true.

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

Prolog-将其作为输入并打印变量的值

go:- write('Enter a name'),nl,
  read(Name),nl,
  print(Name).
print(Name):- write(Name),write(', Hello !!!').
可能重复的