Перечень предикатов языка Пролог и другие мелочи / Неполный ПЕРЕЧЕНЬ ПРЕДИКАТОВ
.docНеполный ПЕРЕЧЕНЬ ПРЕДИКАТОВ Arity/Prolog
Предикаты:
Е1 < Е2 Определяет, является ли значение Е1
меньше значения Е2
Т1 = Т2 Пытается унифицировать Т1 и Т2
Т1 \= Т2 Ложь, если Т1 унифицируется с Т2
Struct =.. List Известен еще как univ. Конвертирует
структуру в список или список в
структуру.
Е1 =< Е2 Определяет, является ли значение Е1
меньше или равным значению Е2
Е1 > Е2 Определяет является ли значение Е1
больше чем значение Е2.
Е1 >= Е2 Определяет, является ли значение Е1
больше чем или равным значению Е2
Е1=:=Е2 Определяет являются ли значения Е1 и Е2
равными
Е1=\=Е2 Определяет являются ли значения Е1 и Е2
не равными
T1 == T2 Определяет являются ли эквивалентными
термы Т1 и Т2
\+P Истина, если Р-ложь; ложь, если Р -
истина. То же самое, что not(P).
Т1\==T2 Определяет неэквивалентность термов Т1
и Т2
T1@<T2 Oпределяет находится ли Т1 до Т2
T1@=<T2 Oпределяет находится ли Т1 до или равен
Т2
T1@>T2 Oпределяет находится ли Т1 после Т2
T1@>=T2 Oпределяет находится ли Т1 после или
равен Т2
abolish(+Name/Arity)
Удаляет из базы все предложения с
указанным именем и арностью.
arg(+N, +Term, -Value)
Унифицирует Value с N-ым аргументом
указанного терма
arg0(+N, +Term, -Value)
Унифицирует Value с N+1 - ым аргументом
указанного терма.
argrep(+Term, +N, +Arg, -Newterm)
Заменяет N-ый аргумент в терме
значением Arg и возвращает результат в
Newterm.
assert(+Clause) Добавляет в предикат предложение.
Эквивалентен asserz.
asserta(+Clause)
Добавляет предложение в начало цепочки
предложений для предиката
assertz(+Clause)
Добавляет предложение в конец цепочки
предложений для предиката
atom(?x) Истина, когда Х - атом
atom_string(?Atom,?String)
Преобразует атом в строку или строку в
атом. Если оба аргумента связаны
значениями, проверяется эквивалентность
atomic(?X) Истина, если Х данное атомарного типа
bagof(?Term,+Goal, -Bag)
Возвращает в неупорядоченном списке
(Bag) все экземпляры Term для которых
Goal истина
call(+P) Вызывает интерпретируемую цель Р.
Истина, если Р-истина.
case(+[A1->B1, A2->B2, ...|C])
Выполняет В1, если A1 - истина, в
противном случае, выполняет В2, если A2
- истина и т.д. Если ложны все условия,
выполнет С.
case+([A1 -> B2, A2 -> B2, ...])
Выполняет B1, если A1 истина, в
противном случае, - выполняет B2, если
A2 - истина и т.д. Если ложны все
условия, то case - истина.
chdir(?Path) Изменяет или дает значения текущей
директории.
chmod(+Filename,?Attributes)
Изменяет или возвращает значение
атрибутного байта файла.
clause(+Head, -Body)
Унифицирует Head и Body с заголовком и
телом соответствующего предложения.
Head должна быть связана значением.
close(+Handle) Закрывает файл с указанным дескриптором
cls Чистит текущее окно и перемещает курсор
в верхний левый угол
compare (-Comp, +T1, +T2)
Сравнивает термы Т1 и Т2 в
соответствии со стaндартным порядком и
унифицирует Comp со значением
результата. Результатом сравнения
являются: =, <, и >.
consult(+Filename)
Загружает в базу данных предложения из
файла, добавляя их при этом к
предложениям, уже существующим в базе.
current_op(?Prec,?Assoc,?Op)
Возвращает в процессе бэктрекинга
определения операций, присутствующие в
базе данных.
current_predicate(?Predicate)
Возвращает в процессе бэктрекинга
предикаты, которые находятся в текущем
мире кода.Аргумент Predicate связывается
значением имени или имя/арность.
directory(+Path, -Name, -Mode, -Time, -Date, -Size)
Выдает список файлов из директории,
специфицированной аргументом Path.
Значением Mode могут быть: 1 - только
для чтения; 2 - скрытый файл; 4 -
системный не учитываемый при обычном
поиске в директории; 16 - директория;
32 - архивный. Size дает размер файла в
байтах.
disk(?Disk_Name)
Устанавливает или возвращает логическое
имя дискового устройства. Если Disk_Name
конкретизировано значением не следует
предусматривать в нем двоеточие.
display(+Term) Выводит указанный терм в префиксной
Польской записи на стандартное
устройство вывода.
display(+Handle, +Term)
Выводит указанный терм в префиксной
Польской записи в специфицированный
файл.
eq(?X,?Y)
Oпределяет, представляют ли X и Y один и
тот же объект данных.
erase(+Ref)
Удаляет терм, хранимый в базе по
указателю Ref. Сохраняет цепочку
удаленных термов.
eraseall(+Key)
Удаляет все термы, хранимые в базе под
ключом Key.
expunge
Удаляет системные указатели для термов
удаленных из базы.
fail Эта цель всегда ложь.
findall(?Term, +Goal, -List)
Собирает все экземпляры терма Term, на
которых доказуема цель Goal, и возвращает
эти экземпляры в неупорядоченном списке.
Предполагается, что все свободные
переменные должны быть экзистенционально
квантифицированы.
functor(?Struct,?Name,?Arity)
Возвращает имя и арность структуры.
get(?Char)
Читает со стандартного устройства ввода
следующий символ, пропуская при этом
непечатаемые символы. Унифицирует Char
значением кода ASCII прочитанного
символа.
get(+Handle,?Char)
Читает из файла следующий печатаемый
символ и унифицирует Char значением кода
ASCII прочитанного символа.
get0(?Char)
Читает со стандартного устройства ввода
следующий символ и унифицирует Char
значением кода ASCII прочитанного
символа. В отличие от get(?Char) пропуск
непечатаемых символов при чтении не
производится.
get0(+ Handle,?Char)
Читает из файла следующий символ и
унифицирует Char значением ASCII - кода
прочитанного символа.
get0_noecho(? Char)
Читает со стандартного устройства ввода
следующий символ и унифицирует Char
значением кода ASCII прочитанного
символа. Предикат get0_noecho не
производит эхо-отображения прочитанного
символа на стандартном устройстве вывода.
ifthen(+P,+Q)
Eсли цель Р истина, выполняет цель Q.
Если цель Р ложна, ifthen дает истину без
выполнения цели Q.
ifthenelse(+P, +Q, +R)
Eсли цель Р истина, выполняется цель Q, в
противном случае выполняется цель R.
instance( +Ref, -Term)
Возвращает в Term терм, связанный с
указателем Ref.
integer(?X)
Истина, если Х целое.
X is E
Вычисляет Е и унифицирует полученное
значение с Х.
key(+Key, -Ref)
Возвращает указатель для ключа.
keyb(-Ascii, -Scan)
Читает со стандартного устройства ввода
следующий символ и возвращает значения
ASCII и scan - кодов для прочитанного
символа.
keys(?Key)
Возвращает имя и арность для ключа из
текущего мира данных. Если Key связан
значением, возвращает истину в том случае,
если данный ключ в текущем мире данных
существует.
length(+List, -N)
Возвращает в N длину символьного списка.
listing
Выводит на стандартное устройство вывода
все предикаты из текущего мира кода.
listing(+Name)
Выводит на стандартное устройство вывода
все предикаты из текущего мира кода с
именем Name.
listing(+Name/Arity)
listing(+[Name/Arity, Name/Arity])
Выводит на стандартное устройство вывода
все предложения из текущего мира кода для
указанного предиката или списка
предикатов.
mkdir(+Path)
Создает новую директорию. Если Path
является полным именем маршрута (содержит
имя устройства и имена директорий), то
директория создается так, как это указано
в Path. Если Path содержит только имя без
указания маршрута, то директория
создается под текущей директорией.
name(?Atom, ?List)
Преобразует список в атом, или,
преобразует атом или целое в список.
nl
Выводит на стандартное устройство вывода
новую строку.
nl(+Handle)
Выводит новую строку в указанный файл.
nonvar(?X)
Истина, если Х является
конкретизированной переменной.
not(+P)
Ложь, если цель Р - истина; истина, если
цель Р - ложь.
nref(+Ref, -Next)
Возвращает указатель следующего терма в
цепочке термов, имеющих тот же самый ключ.
nth_char(+N,-String,-Char)
Возвращает ASCII - код символа,
расположенного со смещением N от начала
строки.
nth_ref(+Key, +N, -Ref)
Возвращает указатель на терм, отстоящий на
заданное число позиций от начала цепочки
термов.
number(?X)
Истина, если Х - число, целое или с
плавающей точкой.
op(+Prec, +Assoc, +Op)
Определяет позицию, приоритет и
ассоциативность оператора.
pref(+Ref, -Pref)
Возвращает указатель на предыдущий терм в
цепочке термов.
put(+Char)
Выводит символ на стандартное устройство
вывода.
put(+Handle, +Char)
Выводит символ в файл.
randomize(+Seed)
Повторно устанавливает (настраивает)
генеретор случайных чисел. Аргумент Seed
является целым числом.
reconsult(+ Filename)
Загружает в базу предложения из файла,
заменяя любые предложения, которые
находятся в базе на их аналоги из файла.
record_after(+Ref,?Term,-Newref)
Добавляет терм после терма с указателем
Ref и возвращает в Newref указатель на
добавленный терм.
recorda(+Key,?Term,-Ref)
Добавляет терм в начало предиката и
возвращает в Ref указатель на добавленный
терм.
recordb(+Tree_name,+Sort_key, +Term)
Записывает термы в Б-дерево.
recorded(+Key,?Term,-Ref)
Возвращает в процессе бэктрекинга
хранящиеся в базе по ключу Key термы и
связанные с ними указатели.
recorded_tro(+Key,?Term,-Ref)
Возвращает в процессе бэктрекинга
хранящиеся в базе по ключу Key термы и
связанные с ними указатели. Предикат
recorded_tro использует оптимизацию
хвостовой рекурсии и может оказаться
поэтому более эффективным, чем предикат
recorded.
recordz(+Key,?Term,-Ref)
Добавляет терм в конец предиката и
возвращает указатель на добавленный терм.
ref(?X)
Истина, если Х - указатель
repeat
Всегда истина. Когда снова встретится в
процессе бэктрекинга, то тоже истина.
retract(+Clause)
Удаляет из базы первый экземпляр
указанного предложения.
rmdir(+Patn)
Удаляет директорию.
seeing(?Filename)
Возвращает имя файла, который был открыт
для чтения при помощи предиката see. Eсли
в программе использовался предикат see_h,
то согласование seeing окончится неудачей.
seen
Завершает ввод из текущего открытого файла
и закрывает его.
setof(?Term,+Goal,-Set)
Собирает все экземпляры терма Term, на
которых доказуема цель Goal, и возвращает
их в упорядоченном списке Set без
дубликатов.
substring(?X)
Истина, если Х строка.
string_length(+String,?Length)
Возвращает длину строки. Если переменная
Length конкретизирована связана значением,
предикат дает истину, когда это значение
совпадает с длиной строки String.
string_search(+Substring, +String,-Location)
Ищет подстроку Substring в строке String и
возвращает начальную позицию подстроки в
аргументе Location. Oтсчет смещения позиции
подстроки производится от 0. Предикат
допускает возврат.
string_search(+Case,+Substring, +String,-Location)
Ищет подстроку Substring в строке String и
возвращает начальную позицию подстроки в
аргументе Location. Oтсчет смещения позиции
подстроки производится от 0. Eсли
аргумент Case установлен в 0, прописная и
строчная в процессе сравнения при поиске
различаются. Если Case установлен в 1,
различие прописной и строчной не
производится. Предикат допускает возврат.
string_term(?String,?Term)
Преобразует строку или атом в терм, или,
преобразует терм в строку.
tab(+Num)
Выводит на стандартное устройство вывода
указанное количество пробелов. Значение
аргумента Num может варьировать в диапазоне
0-255.
tab(+Handle,+Num)
Выводит в файл указанное количество пробелов
Значение аргумента Num может варьировать в
диапазоне 0-255.
tell (+Filename)
Открывает файл для записи и делает его
текущим файлом вывода.
telling(?Filename)
Возвращает имя файла, который был открыт для
записи при помощи предиката tell. Если в
программе использовался предикат tell_h, тo
согласование telling окончится неудачей.
told
Закрывает файл, который был открыт для
записи.
true Эта цель всегда истина.
var(?X)
Определяет, является ли Х
неконкретизированной переменной.
write(+Term)
Выводит терм на стандартное устройство
вывода.
write(+Handle,+Term)
Выводит терм в указанный файл.