Вопрос

Приветствую вас,

Есть ли тест или предикат, который я могу использовать в prolog для проверки того, что определенный данный символ является алфавитным?Прямо сейчас то, что я делаю, это:

Список запрещенных символов: -> 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).это сэкономило бы мне уйму времени и, прежде всего, было бы более оборонительным подходом.

Спасибо

Это было полезно?

Решение

is_alpha/1

Существуют также другие предикаты, такие как is_lower/1 и т.д.

Другие советы

В SWI-Prolog это делается с помощью char_type/2 символ_типа/2 такие , как

% X is either a single-character atom or a character code
alphabetical(X) :- char_type(X, alpha).

SWI-Prolog также предлагает типы данных библиотека, которая предоставляет is_alpha, и т.д.

:- use_module(library(ctypes)).
alphabetical(X) :- is_alpha(X).
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top