gen(N,R)
:générer une gamme de ints - "hors de pile locale" [Débutant]
R
est compris entre 0 et N-1, dans l'ordre. N
int. Int. N
sera toujours donné.
Par exemple: ?- genN(2,R)
. donne R=0;R=1.
Je mis en œuvre comme ça, mais il a « de l'erreur statique locale »:
gen(X,0).
gen(X,R) :-
gen(X,R1),
R is R1+1,
R<X, % why this line
R>=0. % and this line can't keep the range successfully?
Résultat:
?- genN2(3,R).
R = 0 ;
R = 1 ;
R = 2 ;
ERROR: Out of local stack