如何在 Windows 上的 Prolog swipl REPL 上发送 EOF 以关闭伪用户文件?

How to send EOF on Prolog swipl REPL on Windows to close the pseudo user file?

我在 Windows 上使用 swipl.exe Prolog REPL 并尝试使用 [user]. 打开的 user pseudo file 但我不知道快捷键离开伪文件:

c:\code>swipl.exe
Welcome to SWI-Prolog (threaded, 64 bits, version 8.0.3)

1 ?- [user].
|: hello :- format('Hello world~n').
|: ^Z

.

ERROR: user://1:9:3: Syntax error: illegal_character
|:
Action (h for help) ? ^C
c:\code>

^Z 开始,我键入了键


我知道在空白行按 CTRL+Z 然后 ENTER 通常有效发送 EOF,就像在 more.com 中输入 A ENTER B ENTER CTRL+Z ENTER 在我的终端上一切正常。


如果我 运行 swipl-win.exe GUI 遵循相同的关键步骤,当我按下 CTRL+Z[=61 时立即=] 它关闭伪文件和 returns 我到顶级查询:


?- [user].
|: hello :- format('Hello world~n').
|: 
% user://1 compiled 0.00 sec, 1 clauses
true.

?- hello.
Hello world
true.

?- 

我要按什么才能让 [user].swipl.exe 中工作?

如您所见,当您键入 [user] 时,您正在查阅一个由 组成的伪源文件。因此,只需键入术语 end_of_file。例如:

?- [user].
|: a.
|: b.
|: end_of_file.

% user://1 compiled 0.00 sec, 2 clauses
true.