2010-11-17 66 views
0
Existence error in user:nth1/3 
! procedure user:nth1/3 does not exist 

我已经包含列表模块: - use_module(库(列表))。 但仍然得到这个错误..prolog存在错误:过程不存在

任何人都可以请帮忙吗?

+1

请发布您的代码。 – 2010-11-17 20:17:39

+0

您使用的是什么prolog系统?我在swi-prolog中试用它5.8.3和nth1/3默认是可用的(列表库自动加载)。 – src 2010-11-17 20:24:46

+0

SICStus 3.12.1 ..不是内置在sicstus中吗? – 2010-11-17 20:56:10

回答

2

With SICStus 3, try using nth/3而不是nth1/3 - 后者在lists库中不存在。

如果你的代码实际上是调用user:nth1(, ,),然后nth1/3(或任何其他你与user:前缀)需要user模块,用户定义的代码,它似乎被定义为不给您的环境中的情况下你所描述的错误。如果是这种情况,请在没有user:模块前缀的情况下重试。如果谓词是一个系统谓词并且肯定被加载,那么PROLOG系统应该自动找到它。如果不行,PROLOG会认为它应该在user模块中定义,因此它可能会在那里寻找。