プロローグでのアルファベットの文字チェックはありますか?
-
18-09-2019 - |
質問
ご挨拶、
は、テストまたは私は、ある特定の文字はアルファベットであることを確認するために、プロローグに使用できる述語がありましたか?今、私がやっていることはあります:
unallawed文字の一覧ます:\ 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 2)として試験しました。私に多くの時間を節約し、上記のすべての方法より防御的なアプローチになります。
ありがとうございます。
解決
IS_ALPHA / 1
このような等is_lower / 1などの他の述語もあります。
他のヒント
は、SWI-Prologで、これは CHAR_TYPE / 2 を用いて行われますA>など
% X is either a single-character atom or a character code
alphabetical(X) :- char_type(X, alpha).
SWI-Prologはまた、のctypes のライブラリを提供していますこれなど、is_alpha
を提供しています。
:- use_module(library(ctypes)).
alphabetical(X) :- is_alpha(X).
所属していません StackOverflow