• Вещественные константы также могут начинаться со знаков плюс или минус и должны обязательно содержать цифры, предшествующие десятичной точке и следующие за ней. Вещественные константы могут записываться в экспоненциальной форме. Например, записи 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. Основная функция присвоения в Автолиспе