T - переменная определена как константа T и имеет тот смысл, что ее значение - не nil.
Целые числа. Автолисп обменивается с Автокадом целыми числами, не превышающими 16 бит. Таким образом, могут быть введены целые числа в интервале от -32768 до +32767.
Вещественные числа. К вещественным относятся числа, содержащие символ десятичной точки. Числа, лежащие в интервале -1...+1 должны обязательно сопровождаться предваряющим нулем. Вещественные числа, не имеющие десятичных долей, должны содержать ноль после десятичной точки. Вследствие этого правильным является представление 0.245 и 34.0, а записи .245 и 34. не всегда будут приняты Автолиспом. Точность вычислений Автолиспа - 14 значащих цифр, хотя в поле командной строки выводится не более 6 знаков.
Строки. Любая последовательность символов, заключенная в кавычки, рассматривается Автолиспом как строковая переменная. Длина одной строки не должна превышать 132 символов, однако использование функции strcat позволяет объединить несколько строк в одну.
Списки. Для идентификации переменных Автолисп широко использует параметры, представленные в виде списков. Координаты точки в предыдущем примере являются списком, определяющим положение точки на плоскости. Соответственно список, определяющий точку в пространстве, выглядит подобно следующему:
(3.62 4.12 2.85).
В одном списке могут содержаться самые различные типы данных - целые и вещественные числа, строки, списки, имена и наборы примитивов, дескрипторы файлов.
Дескрипторы файлов являются строковыми метками, присваиваемыми файлам, открываемым Автолиспом. В следующем примере открывается файл mycalc.res, он становится доступным для чтения функциями Автолиспа, и значение дескриптора файла присваивается переменной file1:
(setq file1 (open “mycalc.res” “r”)).
Термин “дескриптор” в общем случае понимается как некоторый признак, выделяющий объект из множества себе подобных (вспомните, например, дескрипторы атрибутов). Поэтому в дальнейшем параллельно с этим термином может употребляться термин “имя файла”. И хотя эти термины определяют несколько отличающиеся понятия, при оценке их содержания следует руководствоваться контекстом.
Имена примитивов. Имя примитива представляет собой числовую метку, присваиваемую примитиву в рисунке. Извлекая примитив по имени, его можно обрабатывать всеми доступными способами.
В следующем примере имени примитива, введенного в чертеж последним, присваивается идентификатор e1:
(setq e1 (entlast)).
Ввод этого выражения в командную строку возвращает имя примитива в следующей форме:
<Entityname: 23c0508>.
Наборы (группы) примитивов. Средства Автолиспа позволяют аналогично идентифицировать группу примитивов для дальнейшей обработки их программными средствами Выбранной группе присваивается метка. В приводимом ниже примере идентификатор ss2 присваивается группе примитивов, определенных предпоследним выбором:
(setq ss2 (ssget “р”)).
Встроенные и внешние функции - это функции, посредством которых осуществляется обработка данных. Встроенные функции являются средствами самого Автолиспа, внешние представляют собой программы, определенные приложениями.
1.2. Лексические соглашения
Ввод данных в Автолиспе может осуществляться различными способами: с клавиатуры в строку запроса, непосредственным указанием точек на экране, чтением файла ASCII или строковой переменной. В любых случаях должны, выдерживаться следующие соглашения.
• Имена переменных могут содержать любые символы, за исключением (, ) - левой и правой скобок, . - точки, ' - апострофа, “ - кавычек, ; - точки с запятой.
• Следующие символы заканчивают имя переменной или цифровую константу: (, ), ‘, ; , space (cимвoл пpoбeлa), end of file (символ конца файла).
• Выражение может занимать несколько строк.
• Множество пробелов между символами эквивалентно одному пробелу. Пустые строки не обрабатываются Автолиспом, но иногда их целесообразно вставлять для облегчения чтения программ. Табуляция рассматривается Автолиспом как пробел.
• В Автолиспе не имеет значения регистр символов. Для англоязычной версии Автокада имена функций, переменных и параметров можно записывать как в верхнем, так и в нижнем регистре.
• Целочисленные константы могут начинаться со знаков плюс или минус. Автолисп оперирует 32-битовыми числами, т.е. ему доступны целые числа от -2 147 483 648 до +2 147 483 647. Однако, как упоминалось выше, обмен с Автокадом возможен лишь на 16-битовом уровне.