我試圖定義函數int(?X)
在序言這是一個非零整數發生器,它是這樣工作的非零整數的列表:試圖生成的Prolog
?- int(X). X = 1 ; X = -1 ; X = 2 ; X = -2 ;
我嘗試以下沒有運氣:
int(X):- positives(Y), Y is abs(X).
positives(1).
positives(X):- positives(Y), X is Y+1.
,但我發現了以下錯誤:
ERROR: is/2: Arguments are not sufficiently instantiated
我如何可一個做這項工作?謝謝!
請保留與解決您的問題相關的標籤。這些標籤旨在幫助**其他讀者**找到與他們正在尋找的主題相關的答案,而不是反映教師的非感性要求!我已經恢復了[tag:clpfd]標籤,因爲使用CLP(FD)約束擺脫了[tag:instantiation-error]這是你的問題和其他許多人在stackoverflow上的核心問題。這是因爲教師目前仍然在30年前教Prolog,隨着時間的推移,這些問題將通過將他們指向聲明性解決方案來解決。 – mat