Разбор строки [Турбо Пролог]
Есть список пользователей. Необходимо ввести символ и найти всех пользователей, чье имя начинается с этого символа.
!!! В следующих задачах встроенные предикаты преобразования символов и строк не используются.
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.