Выбрать главу

• Вещественные константы также могут начинаться со знаков плюс или минус и должны обязательно содержать цифры, предшествующие десятичной точке и следующие за ней. Вещественные константы могут записываться в экспоненциальной форме. Например, записи 0.00032 и З.2е-4 являются идентичными.

• Текст программ может содержать строки комментариев, предваряемых точкой с запятой (;), например:

     ; переход в слой CENTER.

• Если комментарий включается в строку программы, он должен выделяться символами ;|....|; .

     (setq omode ;| здесь начинается комментарий,

     здесь он продолжается,

     здесь заканчивается |; (getvar “osmode”))

• Текстовые строки должны заключаться в двойные кавычки. Включение в текстовую строку обратной косой черты (\), иногда называемой обратным слэшем, позволяет ввести управляющие символы, перечисленные в табл. 2.

Tаблицa 2. Значение некоторых управляющих символов

Символ Значение
\\ Символ \
\” Символ “
\e Символ Escape-последовательности
\n Символ перехода на следующую строку
\r Символ возврата каретки
\t Символ табуляции
\nnn Произвольный символ в восьмиричном коде

1.3. Выражения и переменные Автолиспа

Основной структурной единицей Автолиспа является выражение. Любое выражение открывается круглой скобкой, состоит из имени функции и списка аргументов, каждый из которых сам может быть выражением, и закрывается парной правой скобкой. В связи с тем, что выражения могут занимать несколько строк, принято их зрительно структурировать, вписывая закрывающую выражение скобку в тот же столбец, что и открывающую. Такая система записи облегчает чтение программ и уменьшает количество ошибок. Аргументы в выражениях разделяются пробелами.

Автолисп не обладает отладчиком программ, но ему свойственна другая полезная особенность. Если выражение Автолиспа ввести в командную строку Автокада, Автолисп обрабатывает его и возвращает его значение. Это позволяет производить отладку программ, поскольку неадекватная реакция среды сразу указывает на ошибку.

При вводе некорректного выражения Автолисп может выдать указание n>, где n указывает количество незакрытых левых скобок. Довольно частой ошибкой является пропуск правых кавычек (“) в текстовых строках. При этом правые скобки интерпретируются как кавычки, и простой ввод дополнительных скобок не исправляет положения. В таких случаях следует прекратить вычисления командой отказа Ctrl+С в DOS или Esc в Windows и заново ввести выражение.

Обработанное интерпретатором Автолиспа выражение может быть далее использовано окружающими выражениями. Если такого окружения нет, Автолисп передает значение выражения Автокаду.

В распространяемый с 1999 года пакет AutoCAD 2000 в качестве составной части включен пакет Visual LISP, обладающий отладчиком программ. Возможности работы в среде Visual LISP описаны в публикации [1].

Выражения Автолиспа записываются в формате

(function_name [arguments]...)

(имя_функции [аргументы]...).

В дальнейшем, как это принято в литературе по программированию, аргументы, которые не являются обязательными и могут быть опущены, в описании формата выражений заключаются в квадратные скобки. Многоточие, заключающее выражение перед закрывающей круглой скобкой, указывает на то, что список аргументов может быть продолжен.

Существует четыре типа переменных Автолиспа: целые, вещественные, точки и строки. Тип переменной автоматически определяется Автолиспом и должен соответствовать типу, воспринимаемому конкретной функцией. Значение переменной сохраняется до конца сеанса или до замены его другим значением. Имя переменной должно начинаться с алфавитного символа. Запрещенные символы перечислены выше.

1.4. Основная функция присвоения в Автолиспе