4.9 Определение типа объекта

Следующие функции могут быть использованы для получения спецификатора, обозначающего тип заданного объекта.

[Функция] type-of object

Функция имеет следующие ограничения.

В качестве примера, (type-of "acetylcholinesterase") может вернуть string или simple-string или (simple-string  20), но не array или simple-vector. Другой пример, (type-of 1729) может вернуть integer или fixnum или (signed-byte 16) или (integer 1729 1729) или (integer 1685 1750) или даже (mod 1730), но не rational или number, потому что

(typep (+ (expt 9 3) (expt 10 3)) ’integer)

является истиной, integer содержится в списке упомянутом выше, и

(subtypep (type-of (+ (expt 1 3) (expt 12 3))) ’integer)

будет ложью, если type-of вернёт rational или number.