prolog程序,用于检查给定的输入是数字还是大写或小写
我在上面的程序中使用了以下逻辑,但它给出了显示prolog程序,用于检查给定的输入是数字还是大写或小写,prolog,swi-prolog,iso-prolog,Prolog,Swi Prolog,Iso Prolog,我在上面的程序中使用了以下逻辑,但它给出了显示=/2的错误:算术:“a/0”不是函数。我应该怎么做来纠正程序 digit(X):- X>=0,X<10,write('input is digit'). uppercase(X):- X>='A',X<'[',write('input is uppercase'). lowercase(X):- X>='a',X<'{',write('input is lowercase'). 数字(X):-X>=0,X='A
=/2的错误:算术:“a/0”不是函数。我应该怎么做来纠正程序
digit(X):- X>=0,X<10,write('input is digit').
uppercase(X):- X>='A',X<'[',write('input is uppercase').
lowercase(X):- X>='a',X<'{',write('input is lowercase').
数字(X):-X>=0,X='A',X='A',X如果只想在ISO Prolog中对ASCII字符进行分类,可以通过多种方式进行:
作为长度为1的原子表示的字符。要比较它们,您可以使用通用术语比较(@>=)/2
,(@>)/2
。。。在您的示例中,这将是:
digit_char(X) :- atom_length(X,1), X @>= '0', X @=< '9'.
...
数字字符(X):-atom长度(X,1),X@>='0',X@='9'。
...
作为字符代码,它们是表示排序序列整数的纯整数(听起来不错?它只是ASCII代码)
数字编码(X):-整数(X),X>=0'0,X=<0'9。
...
如果需要在两者之间转换,则有char\u code/2
对于Unicode,事情还没有普遍可用并达成一致。在SWI中,有和code\u type/2
。当心,这些东西还在进化
有关字符和代码的详细信息,请参见
如果只想在ISO Prolog中对ASCII字符进行分类,可以通过多种方式进行:
作为长度为1的原子表示的字符。要比较它们,您可以使用通用术语比较(@>=)/2
,(@>)/2
。。。在您的示例中,这将是:
digit_char(X) :- atom_length(X,1), X @>= '0', X @=< '9'.
...
数字字符(X):-atom长度(X,1),X@>='0',X@='9'。
...
作为字符代码,它们是表示排序序列整数的纯整数(听起来不错?它只是ASCII代码)
数字编码(X):-整数(X),X>=0'0,X=<0'9。
...
如果需要在两者之间转换,则有char\u code/2
对于Unicode,事情还没有普遍可用并达成一致。在SWI中,有和code\u type/2
。当心,这些东西还在进化
有关字符和代码的详细信息,请参见