【发布时间】:2012-01-30 04:21:22
【问题描述】:
我在定义模块时遇到了一些问题。这是代码的简短缩减:
:- module(my_module, [word/1]).
:- module(my_module, [alias_of/2]).
alias_of(A, B) :-
alias_of(A, C),
alias_of(C, B).
alias_of('Word_1', 'Word_2').
word(A) :-
alias_of(B, A),
word(B).
word('Word_1').
word('Word_3').
这是我查阅文件时的 SWI-Prolog 输出:
1 ?- ERROR: (i:/dev/prolog-workspace/trial.0.pro:2):
Undefined procedure: my_module:module/2
However, there are definitions for:
module/1
Warning: (i:/dev/prolog-workspace/trial.0.pro:2):
Goal (directive) failed: my_module:module(my_module, [alias_of/2])
我认为,根据我阅读的教程,可以使用 :- module(module_name,[predicate_name/arity]) 来公开谓词。怎么了?
编辑:当我现在使用此代码并将其作为模块进行测试时,我发现它完全有问题...
【问题讨论】: