Character encoding prolog中是否有字母字符检查?

Character encoding prolog中是否有字母字符检查?,character-encoding,prolog,character,swi-prolog,Character Encoding,Prolog,Character,Swi Prolog,您好 在prolog中是否有测试或谓词可以用来验证某个给定字符是否按字母顺序排列?现在,我正在做的是: 未对齐字符列表:\n->10,空格->32,!->33, .->46,->44, :->58, ;->59% % 63->? , 45->-,34->“,39->% \+member(Ch,[10, 32, 33, 34, 39, 44, 45, 46, 58, 59, 63 ]), %Checking for line return (\n), space, pu

您好

在prolog中是否有测试或谓词可以用来验证某个给定字符是否按字母顺序排列?现在,我正在做的是:

未对齐字符列表:\n->10,空格->32,!->33, .->46,->44, :->58, ;->59% % 63->? , 45->-,34->“,39->%

\+member(Ch,[10, 32, 33, 34, 39, 44, 45, 46, 58, 59, 63 ]), %Checking for line return           (\n),     space, punctuations
这些只是我需要检查的几个字符。进行诸如字母(Ch)之类的测试将节省我大量时间,而且最重要的是,这是一种更具防御性的方法

谢谢

是阿尔法/1


还有其他谓词,如is_lower/1等。

在SWI Prolog中,这是通过

SWI Prolog还提供了库,该库提供了
is_alpha

:- use_module(library(ctypes)).
alphabetical(X) :- is_alpha(X).

Nit:当使用字符代码时,应该使用REAT。SWI不检查字符代码,但两者都接受。
:- use_module(library(ctypes)).
alphabetical(X) :- is_alpha(X).