ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
