我使用SICStus 4.2.0和我无法找出如何清除控制台的内容。 它甚至有可能?
Answer 1:
write('\33\[2J').
这是没有办法具体到SICStus。 这是ANSI换码 ,并且在任何ISO符合系统的工作原理。
Answer 2:
虽然SWI-Prolog的提供tty_clear
在其谓语tty
库,Sicstus似乎并没有对此有一个内置的替代品。 但是有一个简单的解决方法(对于Unix / Linux操作系统,可能无法在Windows这么简单):你可以启动sicstus
通过shell rlwrap
,这是一个readline的,包装任意shell命令。 除了命令历史记录的明显的好处,这也意味着你现在可以在sicstus使用其他外壳的功能,像左/右箭头键,Home / End键,Ctrl-K查看光标后删除一切, Ctrl-l
来清屏。
rlwrap
可作为包许多Linux发行版,适用于Windows,你需要cygwin的使用- 本文介绍了我如何设置rlwrap使用PowerShell(对于用sqlplus用在这种情况下),所以猜测PowerShell是一个要求了。
总之,一旦你已经安装了rlwrap,只需启动sicstus为rlwrap sicstus
和使用Ctrl-l
清除屏幕。
Answer 3:
我花了一些时间,可通过文档,我无法找到一个方法来编程方式清除控制台屏幕(如果这是可能的,我很高兴能证明是错误的)。 或者,你可能想使用的蜘蛛,那是一个SICStus Prolog的IDE: http://sicstus.sics.se/spider/在蜘蛛,普通的顶级界面具有清热控制台的当前内容的选项。 希望这可以帮助。
文章来源: How to clear screen in SICStus Prolog