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

Str_lеn/2

Предикат str_lеn может решать 3 задачи: определяет или проверяет

длину строки или возвращает строку пробелов заданной длины. Он имеет фор-

мат:

str_lеn (StringArg, IntergerLength) /* (i,o),(i,i),(o,i)*/

str_len связывает переменную IntergerLength с длиной строки StringArg или

проверяет, имеет ли StringArg данную длину (IntergerLength). В версии 3

потока, str_lеn возвращает строку пробелов данной длины, это может быть

использовано для распределения буферов и др.

isname /1

Предикат isname проверяет, является ли аргумент верным именем сог-

ласно синтаксису Турбо Пролога, и имеет формат:

isname (String) /* (i) */

Имя начинается с буквы алфавита или символа подчеркивания, за кото-

рым следует любое число букв, цифр, и символов подчеркивания. Предыдущие

и последующие пробелы игнорируются.

format/*

Предикат format выполняет преобразования, аналогичные writef, но

format выдает результат в виде строковой переменной.

format (OutputString,FormatString,Arg1,Arg2,Arg3, ...,ArgN)

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

Преобразования типа

В этом разделе мы рассматриваем стандартные предикаты, предназначен-

ные для преобразования типов. Они выполняют преобразования между символом

и его значением в коде ASCII, строкой и символом, строкой и целым, стро-

кой и вещественным, и символами верхнего и нижнего регистра. Это предика-

ты - char_int, str_char, str_int, str_real, upper_lower.

char_int/2

Предикат char_int преобразует символ в целое число или целое в сим-

вол и имеет формат:

char_int(Char,Integer) /* (i,o),(o,i),(i,i) */

Если оба аргумента ограничены, char_int проверяет, соответствуют ли

аргументы. Если один аргумент ограничен, а другой свободен, то char_int

выполняет преобразование и связывает выходной параметр с преобразованной

формой выходного параметра.

Имеется ввиду: этот предикат в действительности не является необхо-

димым в Турбо Прологе версии 2.0, потому что мы ввели автоматическое пре-

образование между символом и целым числом. Мы оставляем char_int для сов-

местимости с версией 1.х.