在 Prolog 中加载和编辑程序2025年3月17日 | 阅读 3 分钟 对于在 Prolog 中加载程序,标准谓词是方括号加载器 '[ …]'、'consult' 和 'reconsult'。 例如, 以上目标打开了 lists.pro 文件。 它也有助于将 lists.pro 文件中的子句加载到内存中。 Prolog 程序主要有两个缺陷。 在加载代码时,如果存在任何语法错误,则显示源代码有 语法错误。 在测试程序时,如果程序员发现任何错误,则显示程序有 逻辑错误。 在 Prolog 中,当前版本的程序通常被认为是未来正确版本的原型。 为了编辑当前版本、重新测试和重新加载它,这种原型为我们提供了一种常见的做法。 快速原型设计方法的正确运行表明程序员花费了大量时间和精力来分析问题。 快速原型设计方法的失败表明,现在我们需要拿起纸笔,重新思考需求并重新开始。 在 Prolog 中,我们可以使用以下代码调用我们的编辑器,然后在从编辑器返回后。 要将程序子句重新加载到内存中,可以使用以下目标 这将自动替换旧的定义。 如果用户使用了 'consult' 而不是 'reconsult',则旧的子句和新的子句必须一起保留在内存中。 它实际上取决于 Prolog 的系统。 如果将多个文件加载到内存中,并且我们只需要重新加载一个文件,则将使用 'reconsult'。 如果重新加载文件定义了谓词,而其余文件中未定义该谓词,则最初从其他文件加载的子句将不会受到重新加载的影响。 以下示例显示了括号表示法,它非常方便。 以上将把所有三个文件加载到 Prolog 的内存中。 要编辑程序,许多 Prolog 系统依赖于程序员,其中包含一个喜欢的文本编辑器。 Prolog 中的以下程序在 Mac 上调用 TextEdit。 它的源代码将被加载以使用此编辑器。 在这里,我们假设它对 Prolog 会话是本地的。 然后我们将使用 'edit' 目标。 现在我们假设要编辑的文件对 Prolog 会话是本地的。 使用文件加载器,此 TextEdit 启动。 编辑程序,并使用相同的文件名保存程序。 ![]() 在 Prolog 会话中,在编辑和保存 Prolog 中的程序后,我们可以重新咨询新版本。 用户通过目标交互式地提供加载子句。 然后用户交互式地在子句末尾输入子句,使用 'stop'。 要结束输入,我们可以使用 ^Z。 下一主题Prolog 中的汉诺塔谜题 |
我们请求您订阅我们的新闻通讯以获取最新更新。