Page 8 - AutoLISP и Visual LISP в среде AutoCAD
P. 8

2. ПРОГРАММИРОВАНИЕ НА AUTOLISP


                                                 2.1. АТОМЫ И СПИСКИ


                      В AutoLisp имеются два общих типа объектов – атомы и списки.
                      Атомы – простые объекты; списки – сложные объекты.
                      Атомы и списки взаимно  исключающие.  То,  что  является атомом, не
                  может  быть списком,  и  наоборот.  Существует  только  одно  исключение  из
                  этого правила – объект nil, о котором будет рассказано позже.
                      Атомы могут быть:
                  · числом (целым или вещественным);

                  · текстовой строкой;
                  · функцией AutoLisp;
                  · символом;
                  · специальным объектом, соответствующим примитиву AutoCad;
                  · набором выбора примитивов AutoCad;
                  · дескриптором файла.
                      Примеры атомов:
                  1                            ; Целое число 1
                  2.5                          ; Вещественное число 2.5
                  "Строка текста"              ; Текстовая строка
                  setq                         ; Функция AutoLisp


                      Списки – сложные объекты, состоящие из атомов и/или других списков.
                  Список  должен  ограничиваться  круглыми  скобками,  и  объекты  внутри
                  списка должны отделяться друг от друга пробелами.
                      Примеры списков:
                  (1 2 3 4 5)                 ; Список из 5 атомов
                  ((6 7) (8 9))               ; Список из 2 списков
                  (+ 2 3 (* 4 5) (- 6 7))     ; Список 3 атомов и 2 списков


                      Имеется  один  объект  в AutoLisp, который  является  одновременно  и
                  атомом и списком. Это пустой список, то есть список, не имеющий никаких
                  элементов, обычно называемый НУЛЬ – nil или ( ).
                      Когда  объект  в AutoLisp не  имеет  никакого  значения,  тогда  значение
                  объекта nil, т.е. "никакое значение".



















                                                                                                              7
   3   4   5   6   7   8   9   10   11   12   13