Сборник задач по курсу «Логическое программирование»: Учебное пособие, страница 12

float(?X)

Согласуется, если X является вещественным числом.

float_text(?Number,?Text,?Format)

Конвертирует число в строку согласно спецификации, заданной в аргументе Format, или конвертирует строку в вещественное число. Аргументом  Format может быть

ü  fixed(N) – известный формат с фиксированной точкой без хвостовых пробелов и с N цифрами после десятичной точки;

ü  scientific(N) – формат с плавающей точкой и N цифрами после десятичной точки.

flush

Удаляет все символы из буфера клавиатуры.

functor(?Struct,?Name,?Arity)

Возвращает имя структуры и ее арность.

G

gc

Сборка мусора. Восстанавливает неиспользуемое стековое пространство.

get(?Char)

get(+Handle,?Char)

Считывает следующий символ со стандартного устройства ввода или из файлового потока с идентификатором Handle, пропуская непечатные символы, и унифицирует код ASCII с Char.

get0(?Char)

get0(+Handle,?Char)

Считывает следующий символ со стандартного устройства ввода или из файлового потока с идентификатором Handle и унифицирует код ASCII с Char.  Предикат get0 не пропускает непечатные символы.

get0_noecho(?Char)

Считывает следующий символ со стандартного устройства ввода и унифицирует код ASCII с Char. Предикат get0_noecho не производит эхопечать символа на стандартное устройство вывода.

get_bit(+Bit,+Int,-Value)

Возвращает в Value (либо 0, либо 1) значение указанного бита целого числа.

get_cursor(-Low_scan,-High_scan)

Возвращает текущую форму курсора.

getEnvVar(+Variable,-/+Valve)

Позволяет получить значение переменной окружения (например, PATH). Не согласуется, если не указано имя переменной.

ground(?Term)

Согласуется, если терм Term не содержит свободных переменных, т.е. любой подтерм терма не является свободной переменной.

H

halt

Производит выход из интерпретатора или откомпилированного приложения.

halt(+Exit_code)

Производит выход из интерпретатора или откомпилированного приложения с кодом завершения Exit_code.

hard_erase(+Ref)

Удаляет терм базы данных с указанным ссылочным номером. В отличие от erase предикат hard_erase не сохраняет следов удаленных термов.

I

ifthen(+P,+Q)

Выполняет цель Q, если согласуется цель P. Если цель P не согласуется, то предикат ifthen согласуется без выполнения цели Q.

ifthenelse(+P,+Q,+R)

Выполняет цель Q, если согласуется цель P, в противном случае выполняет цель R.

in(+Port,?Byte)

Считывает байт из заданного порта ввода/вывода.

inc(+N,-X)

Увеличивает на 1 число N и возвращает результат в X.

instance(+Ref,-Term)

Возвращает терм, связанный с заданным ссылочным номером.

int_text(?Integer,?Text)

Конвертирует целое число в строку или строку в целое число. Если оба аргумента не являются свободными переменными, производит проверку на эквивалентность числа и строки.

integer(?X)

Согласуется, если X является целым числом.

X is E

Оценивает (вычисляет) выражение E и унифицирует результат вычисления с X.

K

key(+Key,-Ref)

Возвращает ссылочный номер заданного ключа.

key_count(+Key,-Count)

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

keyb(-Ascii,-Scan)

keyb(-Ascii,-Scan,-/+Flags)

Считывает следующий символ с клавиатуры и возвращает его ASCII- и Scan-коды. В случае двух аргументов множество флагов Flags возвращается как сумма произвольного сочетания из следующего набора:

ü  1 – нажата клавиша, правый shift;

ü  2 – нажата клавиша, левый shift;

ü  4 – нажата клавиша control;

ü  8 – нажата клавиша alt;

ü  16 – активен режим scroll lock;

ü  32 – активен режим caps lock;

ü  128 – активен режим вставки.

keyb_peek(-Ascii,-Scan)

keyb_peek(-Ascii,-Scan,-/+Flags)

Считывает следующий символ с клавиатуры и возвращает его ASCII- и Scan-коды и при этом не удаляет символ из буфера. В случае двух аргументов аргумент Flags имеет то же значение, что и в случае предиката keyb.

keys(?Key)

Возвращает имя и арность ключа текущего мира данных. Если указан конкретный ключ Key, то согласуется при наличии указанного ключа в текущем мире данных.

keysort(+L1,-L2)