Определение 15.57. Функция progn

(progn <действие>*)

Функция progn выполняет все действия, заданные в качестве аргументов, и возвращает результат выполнения последнего.

В отличие от progn функция progn$ предназначена для выполнения заданного набора действий над каждым элементом составного поля.

Определение 15.58. Функция progn$

(progn$ <определение-списка> <действие>*)

<определение-списка>::=<составное-поле>| (<переменная-списка> <составное-поле>)

Текущее обрабатываемое поле может быть определено с помощью переменной списка, если она задана, а индекс текущего поля — с помощью пере­менной <переменная-списка>-index. Значение, возвращаемое функцией progn$, является результатом последнего действия над последним полем со­ставной величины (см. пример 15.23 и рис. 15.20).

Пример 15.23. Использование функции progn$

(progn$ (?field (create$ abc def ghi))

(printout t "—> "?field " "?field-index " <—" crlf))

Рис. 15.20. Использование функции progn$

Функция return прерывает выполняющуюся функцию, цикл, правило, обработчик сообщения и т. д. Если функция return вызывается без аргумен­тов, функция не возвращает никакого значения. Однако если аргумент присутствует, return возвращает результат вычислений, который присваивается значению прерванной функции, цикла или обработчика сообщения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: