作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Prolog 的新手。我有两个文件。其中之一是“names.pl”,另一个是“verbs.pl”。这两个文件都有事实。 “names.pl”有关于很多名词等的事实。事实的名字是关系。
这些文件的模板:relation(notion_1,relation,notion_2)示例:
relation('accumulator','shape','rectangle').
relation('packing','shape','rectangle').
relation('gold','live / lifeless','lifeless').
我的问题是,如何在一个文件中使用这 2 个 pl 文件?如何将这些文件导入一个文件中?我如何使用/导入“verbs.pl”和“names.pl”在第三个文件中使用这个“关系”事实?
最佳答案
使用consult
,因为你正在使用swi,所以你可以使用缩写形式。 SWI 自动将 .pl
附加到文件名。
% short form:
:- [verbs, names].
%longer form:
:- consult(varbs).
:- consult('names.pl').
如果您在两个文件中都有relation
事实,您可以使用include
:
:-include('verbs.pl').
:-include('names.pl').
这两个假设您设置了第三个文件。
您还可以将谓词声明为 multifile
,使用
:-multifile(relation/3).
那么 prolog 将不会覆盖之前定义的谓词的声明。
关于Prolog - 如何在 pl 文件中使用多个 pl 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29832164/
我是一名优秀的程序员,十分优秀!