我有以下几点:
is_digit(X):-char_type(X,digit).当我这样称呼它的时候: is_digit(X)。
我得到了以下结果:
X='0';
X='1';
... ;
X='9'我需要得到相同的结果,但没有引号。对不起,如果这是一个简单的问题,但我只是找不到解决这个问题的方法。谢谢!
发布于 2011-12-04 04:57:13
如果你想要这个数字,使用atom_number(A,N)。即
?- char_type(X,digit),atom_number(X,N).
X = '0',
N = 0 ;
X = '1',
N = 1 ;
X = '2',
N = 2 ;
X = '3',发布于 2011-12-04 07:39:36
?- between(0, 9, X).
X = 0 ;
X = 1 ;
X = 2 ;
X = 3 ;
X = 4 ;
X = 5 ;
X = 6 ;
X = 7 ;
X = 8 ;
X = 9.发布于 2011-12-06 10:32:23
如果您想在ISO Prolog实现之间进行移植,则需要使用number_chars/2。atom_number/2只存在于SWI,YAP,Ciao。但是number_chars/2是由这3和IF,B,GNU,SICStus,XSB,Jekejeke支持的。
X = '1', number_chars(N, [X]).https://stackoverflow.com/questions/8370689
复制相似问题