2010-11-17 60 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模塊中定義,因此它可能會在那裏尋找。