Программирование на языке Автолисп. Куляс О.С. - 20 стр.

UptoLike

Составители: 

20
Сама функция DEFUN возвращает имя определенной
пользователем функции. При вызове пользовательской функции она
вычисляет <выражения> и присваивает результаты аргументам из
<списка аргументов>. При использовании локальных переменных
значения, который они имели вне функции, сохраняются.
Пользовательская функция возвращает результат вычисления
последнего выражения. Результаты вычисления предыдущих выражений
не сохраняются. Примеры:
(defun
плюс10 (X)
(+ 10 X)
) возвращает ПЛЮС10
(плюс10 5) возвращает 15
(плюс10 -7,4) возвращает 2.600000
(defun точки (x y / temp)
(setq temp (strcat x "..."))
(strcat temp y)
) возвращает ТОЧКИ
(точки "а" "б") возвращает "а...б"
(точки "из" "в") возвращает "из...в"
ПРИМЕЧАНИЕ: Никогда не задавайте имя встроенной функции в
качестве аргумента <имя>, иначе возможность доступа к этой
функции будет утрачена.
Организация ввода информации
в интерактивных процедурах
Для ввода различных типов данных в АВТОЛИСПЕе существует се-
мейство функций GETxxx. Эти функции могут иметь в качестве
аргумента произвольную строковую переменную, в которой может содер-
жаться текст запроса или подсказка, позволяющая пользователю ввести
данные определенного типа. Функции этого типа приостанавливают
выполнение программы до осуществления ввода данных с
клавиатуры
или при помощи устройства указания. При этом в ответ на запрос
функций семейства GETxxx нельзя вводить выражения АВТОЛИСПа.
Механизм использования этих функций сходен, разницу составляет лишь
тип данных, принимаемых каждой функцией. Рассмотрим некоторые из
них:
(getint [<запрос>])
Эта функция приостанавливает вычисления для ввода целого числа
и возвращает это целое число
. Необязательный аргумент <запрос>
20
       Сама функция DEFUN возвращает имя определенной
пользователем функции. При вызове пользовательской функции она
вычисляет <выражения> и присваивает результаты аргументам из
<списка аргументов>. При использовании локальных переменных
значения,   который   они   имели    вне  функции,   сохраняются.
Пользовательская    функция   возвращает   результат  вычисления
последнего выражения. Результаты вычисления предыдущих выражений
не сохраняются. Примеры:

     (defun плюс10 (X)
          (+ 10 X)
     )                                   возвращает   ПЛЮС10
     (плюс10 5)                          возвращает   15
     (плюс10 -7,4)                       возвращает   2.600000

     (defun точки (x y / temp)
          (setq temp (strcat x "..."))
          (strcat temp y)
     )                                   возвращает   ТОЧКИ
     (точки "а" "б")                     возвращает   "а...б"
     (точки "из" "в")                    возвращает   "из...в"

    ПРИМЕЧАНИЕ: Никогда не задавайте имя встроенной функции в
качестве аргумента <имя>, иначе возможность доступа к этой
функции будет утрачена.


     Организация ввода информации в интерактивных процедурах

     Для ввода различных типов данных в АВТОЛИСПЕе существует се-
мейство функций GETxxx. Эти функции могут иметь в качестве
аргумента произвольную строковую переменную, в которой может содер-
жаться текст запроса или подсказка, позволяющая пользователю ввести
данные определенного типа. Функции этого типа приостанавливают
выполнение программы до осуществления ввода данных с клавиатуры
или при помощи устройства указания. При этом в ответ на запрос
функций семейства GETxxx нельзя вводить выражения АВТОЛИСПа.
Механизм использования этих функций сходен, разницу составляет лишь
тип данных, принимаемых каждой функцией. Рассмотрим некоторые из
них:

    (getint [<запрос>])
    Эта функция приостанавливает вычисления для ввода целого числа
и возвращает это целое число. Необязательный аргумент <запрос>