SWI-Prolog无法运行基础程序故障排查及原因咨询
本地SWI-Prolog基础程序无法运行的原因及解决方法
你遇到的问题是本地SWI-Prolog和SWISH的交互逻辑差异导致的操作错误,具体原因和解决方法如下:
核心错误原因
SWISH为了降低新手使用门槛,做了交互逻辑适配,允许用户在编辑区同时编写规则、事实和查询语句后一键运行。但本地SWI-Prolog的顶层交互终端默认处于查询模式,仅支持输入查询语句,不支持直接输入事实、规则定义,这就是你哪怕写最简单的程序也报错的核心原因。
解决方法
- 方式一:使用文件加载(推荐日常使用)
把你编写的所有事实、规则代码保存为后缀为.pl的本地文件,例如命名为demo.pl,之后在SWI-Prolog终端输入命令consult('demo.pl').(也可以用简写语法[demo].)加载文件,加载完成后输入对应的查询语句即可正常运行。 - 方式二:终端临时录入
如果只是要测试短代码,不需要保存文件,可以先在终端输入[user].进入用户代码录入模式,写完所有规则、事实后,按Ctrl+D(macOS/Linux系统)或Ctrl+Z后按回车(Windows系统)结束录入,之后就可以输入查询语句正常运行。
内容的提问来源于stack exchange,提问作者Марьяна
相关产品推荐
相关产品推荐

