Обучение AutoLISP в 8 уроках


Обучение AutoLISP в восьми уроках - стр. 28


 
    (defun C:CD ()
      (command "CIRCLE" pause "Diameter" pause)
    )
 
    Command: (load "cd")
    C:CD
 
    Command: CD
 
    or
 
    Command: (C:CD)
 
ПОДАВЛЕНИЕ  ЗНАЧЕНИЯ  ВОЗВРАЩЕННОГО  ОПРЕДЕЛЯЕМОЙ   ПОЛЬЗОВАТЕЛЕМ
КОМАНДОЙ
 
Значение последнего выражения в теле выражений после списка  тре-
буемых параметров и локальных переменных в функциональном опреде-
лении всегда возвращается как  значение  функции.  В  большинстве
случаев, лучше не разрешать AutoLISP  выводить  это  значение  на
дисплей после того, как функция завершается.
 
Подпрограмма AutoLISP PRIN1 будет выводить пустую строку на  дис-
плей если PRIN1 - последнее выражение в определении функции.
 
Например, эта модифицированная  версия  команды  CD  не  печатает
"nil" в командной строке после завершения выполнения.
 
    (defun C:CD ()
      (command "CIRCLE" pause "Diameter" pause)
      (prin1)
    )
 
ТРЕБУЕМЫЕ АРГУМЕНТЫ К ФУНКЦИИ
 
Некоторые функции не берут никаких аргументов; некоторые  требуют
одного или больше, или переменное число аргументов. Функция SETQ,
например, требует по крайней мере два параметра.
 
Параметры могут требоваться во время обращения к функции если они
включены в ее  определение.  Значения  параметров  будут  отобра-
жаться в выражениях после указания в списке требуемых  параметров
везде, где использовались переменные с теми же самыми именами как
и определенные в списке требуемых параметров.
 
Рассмотрим функциональное определение, которое не  требует  ника-
ких параметров. Оно запрашивает у пользователя вещественное  чис-
ла, обрабатывает его как десятичное число, и возвращает  значение
числа преобразованное в радианы.
 
    (defun dtr ()
      (setq degree (getreal "\nDegrees: "))
      (/ (* degree pi) 180.0)
    )
 
Эта функция должна вызываться с только одним объектом в  форме  -



Начало  Назад  Вперед