Разбор строки [Турбо Пролог]

Есть список пользователей. Необходимо ввести символ и найти всех пользователей, чье имя начинается с этого символа.

!!! В следующих задачах встроенные предикаты преобразования символов и строк не используются.

1 ответ

Вы могли бы сделать это:

name_starting_with(C, Name) :-   % Names that start with C
    char_code(C, CC),         % Get the character code for C
    name([CC|T]),             % Query names that start with C (code CC)
    atom_codes(Name, [CC|T]). % Convert the found character codes to an atom

При возврате это должно возвращать каждое совпадающее имя, пока их больше нет.

char_code/2 а также atom_codes/2 являются предикатами ISO, но я не знаю, поддерживает ли их Turbo Prolog.

Другие вопросы по тегам