Обучение AutoLISP в восьми уроках - стр. 6
времени, функция C:END может также быть написана так:
(defun C:END ()
(if
(eq "Y"
(strcase
(getstring "\nReally want to END the drawing? ")
)
)
(command ".END")
(prompt "\nRemaining in drawing editor.")
)
(prin1)
)
Однако, поскольку Вы только начинаете изучать AutoLISP, очевидно
что Вы будете использовать много операций связывания переменных,
так как это поможет Вам лучше разбираться в ваших программах.
Имеются много средств, которые позволят Вам в AutoLISP записать
более эффективный код, но пока Вы имеете только твердое понима-
ние базисных механизмов, такое усилие - вероятно будет непроизво-
дительно. Кто заботится, использовались ли дополнительные 40 мил-
лисекунд компьютерного времени для связыванием переменной, это
строго говоря не столь важно если оно делает логику программы бо-
лее понятной для Вас?
Упражнения
1. Записать новую функцию HIGHER. Вот что она должна делать:
a) Запросить у пользователя две точки.
b) Сохранить значения обеих точек.
c) Проверить значения Y обеих точек.
d) Если значение Y первой точки большее, напечатать сообще-
ние, указывающие пользователю, что первая точка выше.
e) Если значение Y второй точки большее, напечатайте сообще-
ние, указывающие пользователю, что вторая точка выше.
Функции который Вы можете захотеть использовать - GETPOINT, IF,
DEFUN, CAR, CDR, и >.
Обратите Внимание что Вы можете включать два раздельных условных
оператора IF, или описать два возможных ответа как два выражения
после выражения проверки в одиночном условном операторе IF. Пос-
ледний случай обычно упоминается как оператор IF-THEN-ELSE.
( if
< это выражение проверки истинно >
< тогда выполнить это выражение >
< иначе выполнить это выражение >
Содержание Назад Вперед