Читайте также:
|
|
В Лиспе одно и то же S-выражение может выступать и как обыкновенный аргумент функции, и как функциональный аргумент. Конкретное назначение аргумента будет определяться его cинтаксической позицией. В Коммон Лиспе переданный функции в качестве параметра функциональный объект можно использовать только через явный вызов специальных функций, называемых применяющими функционалами. Применяющие функционалы дают возможность преобразовывать данные в программу и применять ее в вычислениях. В Коммон Лиспе к применяющим функционалам относятся функции APPLY и FUNCALL.
Функция APPLY в общем виде представляется выражением следующего вида:
(APPLY Funct List)
Здесь Funct − функция, которая является первым аргументом APPLY;
List − список, к элементам которого применяется функция Function
Если List == (t1 t2... tn) то (APPLY Function List) == (Function ‘t1
‘t2... ‘tn)
Другой системно определенный функционал Лиспа − функционал FUNCALL, действует аналогично APPLY, но аргументы для вызываемой функции принимает по отдельности. В общем виде
использование функционала FUNCALL записывается следующим образом.
(FUNCALL function t1 t2... tn),
что равносильно следующему применению функции funct:
(funct t1 t2... tn)
Дата добавления: 2015-07-19; просмотров: 70 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Реализация рекурсивного вызова, функция трассировки в Лиспе | | | Генератор в программировании, понятие вычислительного контекста |