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

问题描述 投票:1回答:1

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

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)
  • ENTER
  • ENTER(这会显示错误,并将我带回到伪文件中)
  • CTRL + C(这只会杀死两个swipl进程之一,使控制台处于中断状态,有些击键会扫动,有些击入cmd(!))]]

  • 我知道在空白行上按CTRL

+ Z,然后ENTER通常可以发送EOF,就像在more.com中键入A ENTER] > B ENTER CTRL + Z ENTER一切均可在我的终端上使用。

如果我按照相同的关键步骤运行swipl-win.exe GUI,则当我按下CTRL + Z

时,它立即关闭伪文件并使我返回到顶级查询:

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

?- hello.
Hello world
true.

?- 

我按什么使[user].swipl.exe中工作?

我在Windows上使用swipl.exe Prolog REPL,并尝试使用通过[user]打开的用户伪文件。但我不知道离开伪文件的快捷键:c:\ code> swipl.exe ...

prolog eof swi-prolog prolog-toplevel
1个回答
1
投票

您注意到,当您键入[user]时,您正在查询由terms

组成的伪源文件。因此,只需键入术语end_of_file。例如:
© www.soinside.com 2019 - 2024. All rights reserved.