我正在尝试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
我怎样才能使这项工作?谢谢!