TuProlog: различия между версиями
Содержимое удалено Содержимое добавлено
Нет описания правки |
Нет описания правки |
||
Строка 482:
== Библиотеки ISO ==
Библиотеки ISO зависят от наличия базовых библиотек.
Эти библиотеки содержат почти все встроенные предикаты и функторы, которые являются частью стандарта ISO, и которые не являются непосредственно частью ядра tuProlog или библиотек ядра.
=== Предикаты ===
==== Типовые описания ====
• bound/1
bound(Term) синоним ground/1 предиката из BasicLibrary.
Операция выполняется согласно следующему правилу: bound(+term)
• unbound/1
unbound(Term) истинно если Term не является базовым (элементарным) термом (ground term).
Операция выполняется согласно следующему правилу: unbound(+term)
==== Обработка Атомов ====
• atom length/2
atom length(Atom, Length) истинно, если целочисленное Length соответствует количеству символов в имени Atom.
Операция выполняется согласно следующему правилу: atom length(+atom, ?integer)
• atom concat/3
atom concat(Start, End, Whole) истинно, если Whole - атом полученный путем конкатенации (объединения) символов с End до First.
Если Whole представлено примером, тогда все разложение Whole может быть получено путем backtracking (перебора с возвратами; отслеживания).
Операция выполняется согласно следующему правилу: atom concat(?atom, ?atom, +atom)
Операция выполняется согласно следующему правилу: atom concat(+atom, +atom, -atom)
• sub atom/5
sub atom(Atom, Before, Length, After, SubAtom) истинно, если SubAtom является субатомом Atom, с длинной Length, с Before - символами перед субатомом и After -символами за ним.
Является перевыполняемым.
Операция выполняется согласно следующему правилу: sub atom(+atom, ?integer, ?integer, ?integer, ?atom)
• atom chars/2
atom chars(Atom,List) выполняется, если List - список, чьи элементы являются одно-символьными атомами (one character atoms), в сумме создающие атом.
Операция выполняется согласно следующему правилу: atom chars(+atom, ?character list)
Операция выполняется согласно следующему правилу: atom chars(-atom, ?character list)
• atom codes/2
atom codes(Atom, List) выполняется, если List - список, чьи элементы – коды символов, соответствующие символам атома.
Операция выполняется согласно следующему правилу: atom codes(+atom, ?character code list)
Операция выполняется согласно следующему правилу: atom chars(-atom, ?character code list)
• char code/2
char code(Char, Code) выполняется, если Code – код символов, соответствующий символам Char.
Операция выполняется согласно следующему правилу: char code(+character, ?character code)
Операция выполняется согласно следующему правилу: char code(-character, +character code)
• number chars/2
number chars(Number, List) выполняется, если List – список, чьи элементы одно-символьные атомы, которые в сумме создают Number.
Операция выполняется согласно следующему правилу: number chars(+number, ?character list)
Операция выполняется согласно следующему правилу: number chars(-number, ?character list)
• number codes/2
number codes(Number, List) выполняется, если List – список, чьи элементы являются кодами одно-символьных атомов, которые в сумме создают Number.
Операция выполняется согласно следующему правилу: number codes(+number,?character code list)
Операция выполняется согласно следующему правилу: number codes(-number,?character code list)
=== Функторы ===
• Тригонометрические: sin(+expr), cos(+expr), atan(+expr).
• Логарифмические: exp(+expr), log(+expr), sqrt(+expr).
• Модульные: abs(+expr), sign(+Expr).
• Округляющие: floor(+expr), ceiling(+expr), round(+expr), truncate(+expr), float(+expr), float integer part(+expr), float fractional part(+expr).
• Деление целых чисел: div(+expr, +expr), mod(+expr, +expr), rem(+expr, +expr).
=== Операторы ===
[http://img440.imageshack.us/img440/6360/operators.jpg Операторы]
=== Признаки ===
[http://img338.imageshack.us/img338/5286/flagje.jpg Признаки]
|