如何在 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)
- 输入
- .
- ENTER(这显示错误,并使我回到伪文件)
- CTRL+C(这只会杀死两个 swipl 进程中的一个,使控制台处于中断状态,并且会出现一些击键swipl 和一些去 cmd(!))
我知道在空白行按 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.
我在 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)
- 输入
- .
- ENTER(这显示错误,并使我回到伪文件)
- CTRL+C(这只会杀死两个 swipl 进程中的一个,使控制台处于中断状态,并且会出现一些击键swipl 和一些去 cmd(!))
我知道在空白行按 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.