【发布时间】:2014-04-27 05:20:31
【问题描述】:
考虑以下代码:
:- module(my_export, [create/2]).
create(Predicate, Id) :-
assertz(Predicate),
export(Id).
假设谓词和标识符匹配,我希望新断言的谓词在模块外可用。但是,我得到了这个输出:
?- create(c(A,B) :- A > B, c/2).
true.
?- c(1,2).
Correct to: "my_export:c(1,2)"?
为什么没有导出谓词?这样做的正确方法是什么?
【问题讨论】:
标签: prolog swi-prolog