Среда программирования на AutoLISP в графической системе AutoCAD (Справочник), страница 2

·  Целые, действительные, строковые константы, указатели файлов вычисляются в самих себя.

·  Символы вычисляются в свои текущие значения.

·  Списки вычисляются в зависимости от первого элемента списка.

Если список вычисляется в:

¨  список (или nil), предполагается, что список является определением функции и функция вычисляется, используя оставшиеся элементы списка как аргументы;

¨  имя внутренней функции (субр), то остальные элементы списка передаются в субр как формальные аргументы и вычисляются в субр.

2.3.Соглашение по лексике

Ввод в AutoLISP может принимать несколько форм. Он может осуществляться с клавиатуры в сеансе AutoCAD, считываться из ASCH - файла и считываться из строковой константы. Во всех случаях должны соблюдаться следующие соглашения:

·  Выражения могут занимать несколько строк.

·  Несколько пробелов между символами эквивалентны одному пробелу. Их можно использовать для повышения наглядности структурированной функции.

·  Имена символов и функций в AutoLISP безразличны к регистру, на котором они набраны. Имена символов не могут начинаться с цифры.

·  Знак апострофа может быть использован как короткая запись функции QUOTE.

·  В AutoLISP программы, вводимые с дискового файла, могут содержать комментарии. Комментарии начинаются с “точки с запятой” и продолжаются до конца строки.

2.4.Соглашение по обозначениям

В справочнике применяются следующие соглашения для определения действий функций.

                       (имя функции <строковая константа><число>…)

Имя функции показывает, как оно должно вводится.

Заключённые в угловые скобки слова, следующие за именем функции показывают тип и число аргументов, требуемых функций.

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

Необязательные аргументы заключаются в квадратные скобки.

Номер страницы расположенной справа от определения функции указывает, где находится описание этой функции в документе “АВТОЛИСП версия 10 руководство по программированию”, AutoDESK Ltd.,1989 г., наиболее распространённом в России.

Пометка “только R.11” в различных местах текста означает, что данная функция, раздел или замечание относятся только к AutoLISP R.11 и не могут использоваться или несправедливы для более ранних версий (включая AutoCAD 386).

3.Базовые функции AutoLISP

AutoLISP содержит некоторое количество предопределённых функций. Каждая функция вызывается как список, первым элементом которого является имя функции (набранная на верхнем или нижнем регистре), а остальными – аргументы этой функции (если они есть).

3.1. Арифметические функции

, (setq <символ1><выражение1>

[<символ2> <выражение2>]…)           

Эта функция устанавливает в <символ1> значение <выражение1>, в <символ2> значение <выражение2> и т.д.

Глобальные символы доступны для любой функции и могут изменяться или использоваться в любом выражении. Локальные символы и аргументы функции сохраняют своё значение только в процессе выполнения функции, для которой они определены, и процессе выполнения функции, вызываемых этой функцией. SET и SETQ допускают присвоение новых значений встроенным символам и именам функций AutoLISP, сбрасывая первоначально присвоенное значение или делая их недоступными.

Никогда не осуществляйте имена встроенных символов или имена функций для своего символа!

(+ <число><число>…)

возвращает сумму всех <чисел>. Она может использоваться как с целыми, так и с действительными числами. Если все <числа> целые, результат будет целым; если хотя бы одно <число> действительно, результат будет действительным.

(-- <число> [<число>]…)

вычитает второе <число> из первого и возвращает разность. Если задано более двух <чисел>, то из первого числа вычитается сумма остальных. Если задано только одно <число>, то оно вычитается из нуля и возвращается результат. Функция может использоваться с целыми и действительными числами.