我是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文件?如何在一个文件中导入这些文件?我怎样才能使用这个"关系"在第三个文件中使用/ import" verbs.pl"和" names.pl" ?
答案 0 :(得分:3)
使用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不会覆盖先前定义的谓词的声明。
答案 1 :(得分:1)
最简单的解决方案是使用内容包含第三个文件:
:- include(file1).
:- include(file2).
在include/1
标准指令上查看Prolog系统的文档。