Предикаты Arity/Prolog32

A

аbolish(+Name/Arity)

Удаляет из базы данных все фразы с заданными именем Name и арностью Arity.

abort(+Code)

Производит переход к предикату restart. Если не имеется предиката restart, то прекращается выполнение откомпилированной программы, а для интерпретируемой программы осуществляется возврат в интерпретатор.

arg(+N,+Term,-Value)

Унифицирует Value с N-ым аргументом терма Term.

arg0(+N,+Term,-Value)

Унифицирует Value с N+1-ым аргументом терма Term.

argrep(+Term,+N,+Arg,-Newterm)

Заменяет N-ый аргумент в терме на Arg и унифицирует результат с Newterm.

assert(+Clause)

Добавляет фразу к предикату. Эквивалентен assertz.

assert(+Clause,+N)

Добавляет фразу Clause к предикату в качестве N-ой фразы.

asserta(+Clause)

Добавляет фразу Clause к предикату в качестве первой фразы.

assertz(+Clause)

Добавляет фразу Clause к предикату в качестве последней фразы.

atom(?X)

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

atom_string(?Atom,?String)

Преобразует атом в строку или строку в атом. Этот предикат необходим только для совместимости с предыдущими версиями Arity/Prolog. В Arity/Prolog32 строки – это то же самое, что и атомы и, как следствие, этот предикат определяется следующим образом: atom_string(X, X) :- string(X).

atomic(?X)

Согласуется, если X является атомарным (простым) термом.

B

bagof(?Term,+Spec,-Bag)

Spec является либо целью Goal, либо термом вида Var^Spec, который указывает на то, что Var – это свободная переменная. Bag конкретизируется неупорядоченным списком экземпляров Term, каждый из которых является решением цели Goal.

betweenb(+BTree,?Key1,?Key2,?Relation1,?Relation2, ?Key,?Term)

Возвращает термы из b-дерева, располагающиеся между Key1 и Key2. Аргументы Relation1 и Relation2 определяют необходимость осуществлять возврат крайних (предельных) ключей и могут иметь значения <, >, или =.

betweenkeysb(+BTree,?Key1,?Key2,?Key)

Возвращает термы из b-дерева, располагающиеся между Key1 и Key2.

bit_count(+Int,-Count)

Возвращает количество Count битов в целом числе Int, которые равны единице.

bit_lit(+Bit,+Int)

Согласуется, если бит с номером Bit равен 1 в целом числе Int. Биты нумеруются с последнего значащего бита, начиная с номера 0.

bit_unlit(+Bit,+Int)

Согласуется, если бит с номером Bit равен 0 в целом числе Int. Биты нумеруются с последнего значащего бита, начиная с номера 0.

break

Запускает рекурсивный цикл интерпретатора. При очередной рекурсии запрос будет иметь на один знак вопроса больше: ?- затем ??- затем ???-, и т.д. Вы можете выйти из рекурсивного цикла интерпретатора, используя комбинацию клавиш Ctrl-Z.

btree_count(+Btree,-/+Count)

Возвращает количество ключей Count в b-дереве Btree.

C

call(+P)

Обращается к интерпретируемой цели P и согласуется, если согласуется P.

call(+A,+P)

Обращается к интерпретируемой цели P и согласуется, если согласуется P, используя адрес A структуры, сформированный путем обращения к evalAddress/2.

case(+[A1 -> B1, A2 -> B2,...|C])

Выполняет B1, если согласуется A1, иначе выполняет B2, если согласуется A2, и т.д. Если не согласуется ничего, то выполняет C.

case(+[A1 -> B1, A2 -> B2,...])

Выполняет B1, если согласуется A1, иначе выполняет B2, если согласуется A2, и т.д. Если не согласуется ничего, то сам case согласуется.

chdir(?Path)

Изменяет или возвращает текущую директорию Path.

chmod(+Filename,?Attributes)

Изменяет или возвращает байт-атрибут Attributes файла Filename.

clause(+Head,-Body)

Унифицирует Head и Body с заголовком и телом фразы соответственно.

close(+Handle)

Закрывает файл, заданный идентификатором потока Handle.

cls

Очищает текущее окно и перемещает курсор в его верхний левый угол.

code_world(?Old,?New)

Унифицирует имя текущего кодового мира с Old и затем изменяет его на New.

command_string(-X)

Возвращает аргументы командной строки в X, включая произвольное количество пробелов между командой и первым аргументом. Формат этой строки зависит от операционной системы.

compare(-Comp,+T1,+T2)

compare(-Comp,+T1,+T2,+Case)

Сравнивает термы T1 и T2 в соответствии со стандартным порядком сравнения и унифицирует Comp с результатом сравнения. Результатом сравнения является =, <, или >. Аргумент Case можно использовать для придания сравнению контекстной чувствительности: 0 – наличие контекстной чувствительности; 1 – отсутствие таковой.

concat(+String1,+String2,-Result)

Соединяет две строки или атома и возвращает новую строку в Result. Может быть использован ASCII-код для строки, состоящей из одного символа.

concat(+[String1,String2,...], -Result)

Соединяет две или более строки или атома и возвращает новую строку в Result. Может быть использован ASCII-код для строки, состоящей из одного символа.

consult(+Filename)

Считывает фразы в базу данных из файла, добавляя их к любым уже находящимся в ней.

create(-Handle,+Filename)

Создает и открывает для записи новый файл и возвращает его идентификатор потока Handle. Если файл Filename уже существует, то новый файл переписывает старый.

create_world(+World_name)

Создает новый мир с заданным именем.

ctr_dec(+Ctr,-X)

Уменьшает значение счетчика Ctr на 1 и возвращает его значение X до уменьшения.

ctr_inc(+Ctr,-X)

Увеличивает значение счетчика Ctr на 1 и возвращает его значение X до увеличения.

ctr_is(+Ctr,-X)

Возвращает текущее значение X счетчика Ctr.

ctr_set(+Ctr,+X)

Устанавливает новое значение X счетчика Ctr.

current_op(?Prec,?Assoc,?Op)

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

current_predicate(?Predicate)

Возвращает через отказ от ответа предикаты, содержащиеся в текущем кодовом мире. Аргумент Predicate может не быть свободной переменной и в этом случае быть либо именем предиката, либо его именем и арностью в виде name/arity.

D

data_world(?Old,?New)

Унифицирует имя текущего мира данных с Old и затем делает текущим миром данных New.

date(?date(Year,Month,Day))

Устанавливает системные часы к заданной дате или возвращает текущую дату.

date_day(+date(Year,Month,Day),-WeekDay)

Возвращает день недели заданной даты как целое число между 0 (воскресенье) и 6 (суббота).

dbPartition(-OldPartition,+NewPartition)

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

dbsLen(+Term,-Len)

Возвращает длину в байтах строки, которая была бы создана с использованием term2dbs/2 или term2dbcs/4.

debug

debug(+File)

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

debugger

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

dec(+N,-X)

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

defineb(+BTree,+SplitSize,+Uniqueness,+Order)

defineb(+BTree,+SplitSize,+Uniqueness,+Order,+Case)

Задает атрибуты b-дерева.

defineh(+Table_Name,+HashBuckets)

Задает количество корзин хеширования HashBuckets, которое нужно использовать в хеш-таблице Table_Name.

delete(+Filename)

Удаляет заданный файл.

delete_world(+World_name)

Удаляет мир с заданным именем World_name.

directory(+Path,-Name,-Mode,-Time,-Date,-Size)

Возвращает файлы директории Path. Режим Mode является суммой любого сочетания элементов из следующего набора:

ü 1 – только на чтение (read only);

ü 2 – скрытые (hidden);

ü 4 – исключить системные файлы;

ü 16 – директории;

ü 32 – архивные.

disk(?DiskName)

Устанавливает или возвращает имя (из одной буквы) логического диска, который используется по умолчанию. При установке не используйте двоеточие с именем диска DiskName.

display(+Term)

display(+Handle,+Term)

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

E

eq(?X,?Y)

Определяет, являются ли X и Y одним и тем же объектом данных.

erase(+Ref)

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

eraseall(+Key)

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

errcode(-OldCode,+NewCode)

Возвращает код сообщения OldCode о самой последней синтаксической ошибке или ошибке ввода/вывода и устанавливает хранящийся код в новое значение NewCode.

expand_term(+Term,-Newterm)

Преобразует терм, построенный согласно системе обозначений DCG-грамматики, в эквивалентный ему терм Пролога.

expunge

Удаляет системные ссылки на удаленные термы базы данных.

F

fail

Эта цель никогда не согласуется.

file_list(+Filename)

Сохраняет содержимое базы данных в файл с именем Filename.

file_list(+Filename,+Name/Arity)

Сохраняет фразы с заданным именем и арностью Name/Arity в файл с именем Filename.

fileerrors(?Old,?New)

Разрешает или запрещает сообщения об ошибках ввода/вывода или возвращает текущую установку этого флага. Для того чтобы разрешить сообщения, установите New в on, в противном случае установите New в off.

findall(?Term,+Goal,-List)

Собирает все экземпляры терма Term, при которых цель Goal согласуется, и возвращает эти экземпляры в виде неупорядоченного списка List. Предполагается, что для всех свободных переменных имеет место экзистенциальная квантификация.

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)

Сортирует список L1 согласно стандартному порядку сравнения термов. Элементы списка должны иметь вид Key -Value. Дубликаты элементов не удаляются. Отсортированный список возвращается в аргументе L2.

L

leash(+Mode)

Устанавливает режим работы с портом. Аргумент Mode может иметь значения full, tight, half или loose.

length(+List,-N)

Возвращает длину N списка List.

list_text(?List,?String)

Конвертирует список символов в строку или конвертирует атом или строку в список символов.

listing

Выводит на стандартное устройство вывода все предикаты текущего кодового мира.

listing(+Name)

listing(+Name/Arity)

listing(+[Name/Arity,Name/Arity])

Для заданного предиката или списка предикатов выводит на стандартное устройство вывода все фразы, его (предикат) или их (предикаты из списка) определяющие.

load_key(+Filename,+Key)

Загружает содержимое файла в базу данных под указанный ключ.

lock

Используется для блокировки возможности использования Ctrl-Break для немедленного завершения программы. Предикат lock добавляет 1 к системному семафору (счетчику блокировок). Должен использоваться совместно с предикатом unlock.

M

mkdir(+Path)

Создает новую директорию. Если аргумент Path является полным именем пути (включая имя диска и имена директорий), то директория будет создана так, как это точно указано. Если аргумент Path – это просто имя без указания пути, тогда директория создается в текущей директории.

mth_ref(+Ref,+Dir,-NewRef)

Возвращает либо предыдущий (Dir = -1), либо следующий (Dir = 1) ссылочный номер базы данных для указанного ссылочного номера Ref.

N

name(?Atom,?List)

Конвертирует список в атом или конвертирует атом (целое число) в список.

nl

nl(+Handle)

Производит переход на новую строку на стандартном устройстве вывода или в файловом потоке с идентификатором Handle.

nodebug

nodebug(-File)

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

nonvar(?X)

Согласуется, если X не является свободной переменной.

nospy(+Name)

nospy(+Name/Arity)

Удаляет точки слежения из указанного предиката.

not(+P)

Не согласуется, если цель P может быть согласована; в противном случае согласуется.

notrace

notrace(-File)

Предикат делает то же самое, что и предикат nodebug.

nref(+Ref,-Next)

Для указанного терма возвращает ссылочный номер терма следующего за ним в цепочке термов, хранящихся под тем же самым ключом.

nth_char(+N,-String,-Char)

Возвращает ASCII-код N-ого от начала строки символа. Нумерация символов в строке начинается с 0.

nth_ref(+Key,+N,-Ref)

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

number(?X)

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

O

op(+Prec,+Assoc,+Op)

Задает старшинство, ассоциативность и имя оператора.

open(-Handle,+Filename,+Access)

Открывает существующий файл. Аргумент Access может иметь значения

ü r – чтение;

ü w – запись;

ü a – добавление;

ü rw – чтение/запись;

ü ra – чтение/добавление;

ü dw – защита от записи;

ü drw – защита от чтения/записи;

ü cn – создание, если такого файла нет;

ü fe – отказ от работы, если файл уже существует;

ü re – замена файла, если уже существует;

ü ni – не наследуется порожденным дочерним процессом.

Если указывается более чем один режим доступа, нужно использовать список, например, режим чтения с защитой от записи [r,dw].

P

p_open(-/+Handle,+Filename,+Access)

Открывает файл с заданным именем Filename. Если такого файла нет в текущей директории, p_open производит поиск в директориях, указанных в переменной окружения path файла autoexec.bat.

p_open(-Handle,+Filename,+Type,+Pathvar)

Открывает файл с заданным именем Filename. Pathvar позволяет включить такие переменные пути как include, help или path.

pfname(+FileName,?/+Prefix,?/+Name,?/+Extension, ?/+HasExt)

Разбирает имя файла на компоненты его пути: префикс, имя и расширение. HasExt – признак наличия расширения и может быть равен 121 или 110 (ASCII-коды символов y и n).

pref(+Ref,-Prev)

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

put(+Char)

put(+Handle,+Char)

Выводит символ на стандартное устройство вывода или файл с дескриптором Handle.

R

randomize(+Seed)

Переустанавливает генератор случайных чисел. Аргумент Seed является целым числом.

read(-Term)

read(+Handle,-Term)

Считывает терм со стандартного устройства ввода или файла с дескриптором Handle.

read_ascib(+Handle,+Text)

Считывает текстовое поле из файла с дескриптором Handle; длина поля указывается в первом байте, считываемом из файла.

read_asciw(+Handle,+Text)

Считывает текстовое поле из файла с дескриптором Handle; длина поля указывается в первом слове (16 битах) считываемых, из файла.

read_asciz(+Handle,+Text)

Считывает «заканчивающееся нулем» текстовое поле из файла с дескриптором Handle.

read_asciz_field(+Handle,+Width,+Text)

Считывает «заканчивающееся нулем» текстовое поле заданной ширины из файла с дескриптором Handle.

read_float(+Handle,+Float)

Считывает следующие 8 байт из файла с дескриптором Handle как вещественное число.

read_int8(+Handle,+Integer)

Считывает следующие 8 бит из файла с дескриптором Handle как целое число.

read_int16(+Handle,+Integer)

Считывает следующие 16 бит из файла с дескриптором Handle как целое число.

read_int32(+Handle,+Integer)

Считывает следующие 32 бита из файла с дескриптором Handle как целое число.

read_line(+Handle,-Line)

Считывает строку файла с дескриптором Handle.

read_string(+MaxLength,-String)

read_string(+Handle,+MaxLength,-String)

Считывает строку из MaxLength символов либо со стандартного устройства ввода, либо из файла с дескриптором Handle.

reconsult(+Filename)

Считывает фразы в базу знаний из файла, заменяя любые предикаты, уже представленные в базе знаний, набором фраз, обнаруженным в файле.

record_after(+Ref,?Term,-Newref)

Добавляет терм в цепочку после терма с ссылочным номером Ref и возвращает ссылочный номер, присвоенный добавленному терму.

record_before(+Ref,?Term,-Newref)

Добавляет терм в цепочку до терма с ссылочным номером Ref и возвращает ссылочный номер присвоенный добавленному терму.

record_visi(+Goal,+Type,+Offset)

Обеспечивает низкоуровневый доступ к таблице видимости. Type может иметь следующие значения: 1 – prolog, 2 – eval, 3 – evalpost, а Offset – это адрес предиката. Для того чтобы удалить определение видимости, установите Type=0.

recorda(+Key,?Term,-Ref)

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

recordb(+BTree,+Sort_Key,+Term)

Записывает терм в b-дерево.

recorded(+Key,?Term,-Ref)

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

recorded(+Key,+Dir,?Term,-Ref)

Возвращает через поиск с возратом термы и связанные с ними ссылочные номера, хранящиеся под заданным ключом. Порядок поиска задается с помощью аргумента Dir: 1 – прямой; 0 – обратный.

recorded_nth(+Key,+N,-Term,-Ref)

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

recorded_ref(+Ref,+Dir,?Term,-Ref)

Возвращает через поиск с возвратом термы и связанные с ними ссылочные номера, хранящиеся до или после терма с указанным ссылочным номером. Порядок поиска задается с помощью аргумента Dir: 1 – прямой; 0 – обратный.

recorded_terms(+Key,?Match,-Terms)

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

recorded_tro(+Key,?Term,-Ref)

Возвращает через поиск с возратом термы и связанные с ними ссылочные номера, хранящиеся под заданным ключом. Предикат recorded_tro использует оптимизацию остаточной рекурсии и, следовательно, может быть более эффективным, чем предикат recorded.

recordh(+Table_name,+Sort_key,+Term)

Записывает терм в хэш-таблицу.

recordz(+Key,?Term,-Ref)

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

ref(?X)

Согласуется, если X является ссылочным номером базы данных.

refPartition(+Ref,-Partition)

Возвращает раздел (partition) базы данных, в котором хранится терм с указанным ссылочным номером.

removeallb(+BTree)

Удаляет b-дерево.

removeallh(+Table_name)

Удаляет хэш-таблицу.

removeb(+BTree,+Sort_key,?Term)

Удаляет терм из b-дерева. Если Term является свободной переменной, тогда удаляется первый терм под Sort_key.

removeb(+BTree,+Sort_key)

Удаляет все термы из b-дерева, которые связаны с указанным Sort_key.

removeh(+Table_name,+Sort_key,?Term)

Удаляет терм из хэш-таблицы. Если Term является свободной переменной, тогда удаляется первый терм под Sort_key.

rename(+Filename,+NewName)

Изменяет имя файла.

repeat

Всегда согласуется (в том числе и тогда, когда обнаруживается в ходе поиска с возвратом).

replace(+Ref,+Term)

replace(+Ref,+Term,-NewRef)

Заменяет терм, имеющий указанный ссылочный номер, термом, заданным в аргументе Term. В версии с тремя аргументами, NewRef будет тем же самым что и Ref до тех пор, пока не потребуется сменить страницу базы данных. В этом случае NewRef будет новым ссылочным номером, принадлежащим новой странице.

replaceb(+BTree,+Sort_key,+Old_term,+New_term)

Заменяет терм, хранящийся в указанной позиции в b-дереве.

replaceh(+Hashtable,+Key,?Term0,+Term)

Если Term0 хранится в хэш-таблице под заданным ключом, то он заменяется термом Term.

reset_op

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

resetspy

Очищает все точки слежения.

restore

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

restore(+Name)

Восстанавливает базу данных, заданную именем Name.

retract(+Clause)

Удаляет первое вхождение указанной фразы из базы данных.

retrieveb(+BTree,?Sort_key,?Term)

Возвращает терм из b-дерева.

retrieveb_keys(+BTree,-Keys)

Возвращает все ключи Keys из b-дерева в виде списка.

retrieveb_nth(+BTree,+N,-Sort_key)

Возвращает N-ый ключ из b-дерева.

retrieveb_terms(+BTree,-Terms)

Возвращает все термы Terms из b-дерева в виде списка.

retrieveb_terms(+BTree,+Sort_key,-Terms)

Возвращает все термы Terms, связанные с указанным Sort_key, из b-дерева в виде списка.

retrieveh(+Table_name,?Sort_key,?Term)

Возвращает терм из хэш-таблицы.

rmdir(+Path)

Удаляет директорию.

S

save

Сохраняет все изменения, сделанные в текущей базе данных с тех пор, как она была в последний раз сохранена.

save(+Name)

Сохраняет внутреннюю базу данных в файл с заданным именем Name.

scan_code(+Ascii,-Scan)

Возвращает Scan-код, связанный с кодом Ascii.

screen_height(?/+Old,?/+New)

Позволяет изменить высоту экрана (в строках) к одному из возможных значений – 25, 43 (как EGA, так и VGA), или 50 (только VGA).

searchPath(+PathSpec,+FileSpec,+Flags, -/+CompleteFileSpec)

Позволяет производить поиск файла на диске. Аргумент PathSpec указывает как следует искать. Если Вы хотите узнать значение переменной окружения, вам нужно установить второй бит флага. Имеют значение следующие биты флага Flag: 1 – поиск в текущей директории; 2 – PathSpec является переменной окружения; 4 – поиск директории, содержащей EXE-файл приложения.

see(+Filename)

Открывает файл для чтения и делает его текущим устройством ввода.

see_h(+Handle)

Ранее открытый файл с дескриптором Handle становится текущим устройством ввода.

seeing(?Filename)

Возвращает имя файла, который был открыт на чтение с помощью предиката see. Если использовался предикат see_h, то цель seeing не согласуется.

seek(+Handle,+Offset,+Method,-NewLoc)

Перемещает внутренний указатель файла к указанной позиции в файле. Аргумент Offset представляет собой относительную позицию внутри файла в байтах. Method указывает стартовую точку от которой вычисляется смещение Offset, и может быть: bof – началом файла; eof – концом файла или current – текущей позицией.

seen

Завершает ввод из текущего открытого файла и закрывает файл.

set_bit(+Bit,+NewValue,+OldInt,-NewInt,-OldValue)

Устанавливает значение бита в целом числе, возвращая новое целое число и старое значение бита.

set_bits(+OldInt,+Mask,+Data,-NewInt)

Устанавливает в целом числе набор битов, заданный маской Mask, в значения, указанные в аргументе Data.

set_cursor(+Low_scan,+High_scan)

Изменяет форму курсора так, как это задано аргументами Low_scan и High_scan.

set_cursorshape(+Shape)

Позволяет изменить форму курсора к одному из четырех вариантов: 0 – скрытый курсор, 1 – прямоугольник (█), 2 – половина прямоугольника (▄) или 3 – знак подчеркивания (_).

setof(?Term,+Goal,-Set)

Собирает все экземпляры терма Term, при которых согласуется цель Goal, и возвращает их в виде упорядоченного списка без дубликатов (Set).

setup_editor(+Bkgrnd,+Border,+Status,+ROE,+SOE,+Indent)

Изменяет цвета и другие установки редактора Arity/Prolog32.

shell

Позволяет выполнить команды операционной системы из интерпретатора команд. Для возврата в программу (интерпретатор) введите exit. Этот предикат всегда согласуется.

shell(+Command)

Выполняет команду операционной системы и согласуется.

skip(+Char)

skip(+Handle,+Char)

Считывает и пропускает символы со стандартного устройства ввода или файла с дескриптором Handle до тех пор, пока не будет обнаружен символ Char.

sort(+L1,-L2)

Сортирует список L1 по возрастанию, удаляя дубликаты, и возвращает отсортированный список в L2.

sortkey(+Key)

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

spy(+Name)

spy(+Name/Arity)

Специфицирует предикат как точку слежения при отладке.

statistics

Показывает окно, которое демонстрирует всю статистику по использованию системы Arity/Prolog32.

statistics(+Info,-Struct)

Возвращает информацию об использовании системы интерпретатором Arity/Prolog32. Аргумент Info может быть стеком базы данных, локальным стеком, глобальным стеком, trail-стеком, корзиной мусора, версией, edb, кэшем.

stdin(+Filename,+Goal)

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

stdinout(+InFile,+OutFile,+Goal)

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

stdout(+Filename,+Goal)

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

string(?X)

Согласуется, если X является строкой.

string_length(+String,?Length)

Возвращает длину строки. Если Length является целым числом, то согласуется, если это длина строки String.

string_lower(+Text,-Lower)

Преобразует текст Text к эквивалентной строке в нижнем регистре.

string_search(+SubString,+String,-Location)

Производит поиск подстроки в строке и возвращает (в случае успеха) начальную позицию найденного вхождения в аргументе Location. Location является смещением (начиная с 0). Этот предикат недетерминированный.

string_search(+Case,+SubString,+String,-Location)

Производит поиск подстроки в строке и возвращает (в случае успеха) начальную позицию найденного вхождения в аргументе Location. Location является смещением (начиная с 0). Этот предикат недетерминированный. Если Case установлен в 0, поиск ведется с учетом регистра. Если Case установлен в 1, поиск ведется без учета регистра.

string_term(?String,?Term)

Преобразует строку или атом в терм или терм в строку.

string_termq(?/+Quotestring,?/+Term)

Версия string_term, которая работает подобно writeq.

string_upper(+Text,-Lower)

Преобразует текст Text к эквивалентной строке в верхнем регистре.

substring(+InString,+N,+Length,-OutString)

Извлекает подстроку из строки. Аргумент N задает начало подстроки (символы строки нумеруются начиная с 0). Аргумент Length задает длину подстроки.

syntaxerrors(?Old,?New)

Позволяет или запрещает сообщения об ошибках синтаксиса Arity/Prolog32 или возвращает текущую установку для этих сообщений.

system(?Predicate)

Определяет, является ли предикат Predicate вычисляемым (системным, не интерпретируемым, «evaluable») предикатом. Если аргумент Predicate не является свободной переменной, то он может быть либо именем предиката, либо парой имя/арность.

system(?Predicate,-Old,+New)

Позволяет вам задавать свойство «видимость» указанного предиката, делая предикат либо видимым, либо нет. Значение on означает, что видимость предиката запрещена.

sysflag(+FlagNo,-Old,+New)

Возвращает/устанавливает значение системных флагов. В настоящее время лишь один системный флаг доступен для пользователей: флаг доступности предохраняющего сохранения FlagNo = 11, значение по умолчанию которого off.

T

tab(+Num)

Выводит указанное количество пробелов на стандартное устройство вывода. Аргумент Num должен быть в диапазоне 0 – 255.

tab(+Handle,+Num)

Выводит указанное количество пробелов в файл с указанным дескриптором. Аргумент Num должен быть в диапазоне 0 – 255.

tchar(-Char,-Attr)

Возвращает символ и атрибут цвета в текущей позиции экранного курсора.

tell(+Filename)

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

tell_h(+Handle)

Производит вывод в открытый ранее файл с дескриптором Handle.

telling(?Filename)

Возвращает имя файла, который был открыт для записи предикатом tell. Если был использован предикат tell_h, то telling терпит неудачу.

term_concat(+Functor,+Args,-Term)

Возвращает терм Term, созданный из предложенных функтора и списка аргументов.

tget(?Row,?Column)

Возвращает координаты текущей позиции экранного курсора внутри текущего окна.

tget_screen(?Row,?Column)

Возвращает абсолютные экранные координаты текущей позиции курсора.

time(?time(Hours,Minutes,Seconds,Hundredths))

Возвращает текущее время или устанавливает его на системных часах.

tmove_screen(+Row,+Column)

Перемещает курсор к заданным координатам экрана.

told

Закрывает файл, который был открыт для записи.

trace

Включает отладчик, устанавливая его в режим creep.

trace(+File)

Включает трассировку, создает новый файл и сохраняет информацию по трассировке в этот файл.

true

Этот запрос всегда успешен.

U

unlock

Вычитает 1 из системного семафора. Используется вместе с предикатом lock для выделения участка кода программы так, что Ctrl-Break не будет завершать исполнение программы до тех пор, пока обработка выделенного участка не будет завершена.

V

var(?X)

Определяет, является ли X свободной переменной.

varnames(?Term)

Назначает пригодное для печати имя каждой переменной терма.

W

wa(+Count,+Attribute)

Изменяет байт – цветовой аттрибут набора символов экрана. Количество символов набора задается аргументом Count, а сам набор начинается с текущей позиции куросора.

wc(+Count,+Char)

Выводит на экран заданное количество копий указанного символа в текущее окно, начиная с текущей позиции курсора.

wca(+Count,+Char,+Attribute)

Выводит на экран заданное количество копий указанного символа с использованием аттрибута цвета Attribute в текущее окно, начиная с текущей позиции курсора.

what_btrees(-Btree)

Возвращает через поиск с возвратом имена всех существующих на данный момент b-деревьев.

what_worlds(?X)

Возвращает через поиск с возвратом имена всех существующих на данный момент миров.

workspace(-OldWorkspaceNumber,+NewWorkspaceNumber)

Возвращает/устанавливает номер текущего рабочего пространства базы данных (0...3).

write(+Term)

write(+Handle,+Term)

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

write_ascib(+Handle,+Text)

Записывает текстовое поле Text в файл с дескриптором Handle, снабжая его префиксом в виде одного байта, представляющего собой длину поля.

write_asciw(+Handle,+Text)

Записывает текстовое поле Text в файл с дескриптором Handle, снабжая его префиксом в виде одного слова (16 бит), представляющего собой длину поля.

write_asciz(+Handle,+Text)

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

write_asciz_field(+Handle,+Width,+Text)

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

write_ctrl_text(+Key,+Label)

Выводит на экран метку элемента управления окна диалога с подходящим атрибутом клавиши быстрого доступа.

write_float(+Handle,+Float)

Выводит число с плавающей точкой в файл с дескриптором Handle в 8-байтном формате.

write_int8(+Handle,+Integer)

Выводит целое число в файл с дескриптором Handle в 8-битном формате.

write_int16(+Handle,+Integer)

Выводит целое число в файл с дескриптором Handle в 16-битном формате.

write_int32(+Handle,+Integer)

Выводит целое число в файл с дескриптором Handle в 32-х битном формате.

write_key(+Key,+File,+Backup)

Записывает ключ базы данных в ASCII-файл и если Backup равен 1 и имеется существующая версия файла File, то она сохраняется в виде .BAK файла.

writeq(+Term)

writeq(+Handle,+Term)

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

Приложение В

Наши рекомендации