logo
TurboProlog / Документация / TOM_1

Frontchar/3

frontchar действует согласно равенству:

String1=the concatnation of CharArg and String2

и имеет следующий формат:

frontchar (String1,CharArg,String2)

/* (i,o,o) (i,i,o) (i,o,i) (i,i,i) (o,i,i) */

frontchar имеет 3 аргумента: первый из них - строка, второй - символ

(первый символ первой строки), третий - остаток первой строки.

frontchar можно использовать для расщепления строки в последователь-

ность символов или для создания строки из последовательности символов, а

также для проверки символов в строке. Если аргумент String1 связан со

строкой нулевой длины, то предикат завершается неудачно.

Пример

В программе CH13EX01.PRO, frontchar используется для определения

предиката, преобразующего строку в список символов. Задайте цель:

string_chlist("ABC",Z)

После обработки целевого утверждения Z будет связано со списком

['A','B','C']

/* Program CH13EX01.PRO */

domains

charlist = char*

predicates

string_chlist(string, charlist)

clauses

string_chlist("", []).

string_chlist(S, [H|T]) :-

frontchar(S, H, S1), string_chlist(S1, T).