ВУЗ:
Составители:
Рубрика:
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 [<запрос>]) Эта функция приостанавливает вычисления для ввода целого числа и возвращает это целое число. Необязательный аргумент <запрос>
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »