Определение 15.1. Предикатные функции

(<имя-предикатной-функции> <выражение>)

При выполнении предикатной функции вычисляется выражение, переданное ей в качестве единственного параметра, и проверяется соответствие па­раметра некоторому типу. Если принадлежность к проверяемому типу подтверждается, функция возвращает значение true, в противном случае — false. Полный список предикатных функций приведен в табл. 15.1.

Таблица 15.1. Предикатные функции

Функция Описание
numberp Проверка, относится ли аргумент к типу float или integer
floatp Проверка, относится ли аргумент к типу float
integerp Проверка, относится ли аргумент к типу integer
lexemep Проверка, относится ли аргумент к типу symbol или string
stringp Проверка, относится ли аргумент к типу string
symbolp Проверка, относится ли аргумент к типу symbol
wordp Синоним функции symbolp
evenp Проверка целого числа на четность
oddp Проверка целого числа на нечетность
multifieldp Проверка, является ли аргумент составным полем
sequencep Синоним функции multifieldp
pointerp Проверка, относится ли аргумент к типу external-address

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

Определение 15.2. Функции eq и neq

(eq <выражение1> <выражение2>+)

(neq <выражение1> <выражение2>+)

Функция eq возвращает значение true, если ее первый аргумент равен вто­рому и всем последующим аргументам (если они присутствуют). В против­ном случае функция возвращает значение false. Важной особенностью функции является то, что она сравнивает как значения аргументов, так и их типы. Например, результатом выполнения выражения (eq 3 3.О) будет значение false, т. к. число 3 принадлежит типу integer, а число 3.0 — типу float.

Функция neq, напротив, возвращает значение true, если ее первый аргумент не равен второму и последующим аргументам, и значение false — в противном случае. В примере 15.1 показано использование функций eq и neq.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: