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

Преобразует атом в строку или строку в атом. Этот предикат необходим только для совместимости с предыдущими версиями 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 уже существует, то новый файл переписывает старый.