如何在SICStus Prolog中清除屏幕

如何在SICStus Prolog中清除屏幕,prolog,Prolog,我使用的是SICStus 4.2.0,无法找到如何清除控制台的内容。甚至有可能吗?我花了一些时间查看文档,但我找不到一种方法以编程方式清除控制台屏幕(如果有可能,我很高兴被证明是错误的)。或者,您可能希望使用SPIDER,即SICStus Prolog IDE:在SPIDER中,普通顶级接口可以选择清除控制台的当前内容。希望这有帮助。虽然SWI Prolog在其tty库中提供了tty\u clear谓词,但Sicstus似乎没有内置的替代方法。但是有一个简单的解决方法(对于unix/linux,

我使用的是SICStus 4.2.0,无法找到如何清除控制台的内容。甚至有可能吗?

我花了一些时间查看文档,但我找不到一种方法以编程方式清除控制台屏幕(如果有可能,我很高兴被证明是错误的)。或者,您可能希望使用SPIDER,即SICStus Prolog IDE:在SPIDER中,普通顶级接口可以选择清除控制台的当前内容。希望这有帮助。

虽然SWI Prolog在其
tty
库中提供了
tty\u clear
谓词,但Sicstus似乎没有内置的替代方法。但是有一个简单的解决方法(对于unix/linux,在windows上可能没有那么简单):您可以通过启动
sicstus
shell,这是一个用于任意shell命令的readline包装器。除了命令历史记录的明显优点外,这还意味着您现在可以在sicstus中使用其他shell功能,如左/右箭头键、主/结束键、用于删除光标后所有内容的Ctrl-k以及用于清除屏幕的Ctrl-l

write('\33\[2J').
rlwrap
作为一个软件包可用于许多linux发行版,对于windows,您需要使用cygwin-介绍如何使用powershell设置rlwrap(在本例中与sqlplus一起使用),因此我猜powershell也是一个要求

总之,一旦安装了rlwrap,只需以
rlwrap sicstus
的形式启动sicstus,然后使用
Ctrl-l
清除屏幕

write('\33\[2J').

这绝不是SICStus所特有的。它是在任何符合ISO标准的系统中运行的。如果您使用的是swipl,请在用户初始化文件中添加此行:

cls:-write('\33\[2J').
应该这样做