Группы пользователей Autodesk


Описание функции gp:FindPointInList - часть 2


Допускается также применять пользовательские функции. Например, возьмем пользовательскую функцию с именем equals2:

_$ (defun equals2(num)(= num 2))

EQUALS2

_$ (mapcar 'equals2 '(1 2 3 4))

(nil T nil nil)

Однако, функцию equals2 можно и не описывать отдельно. В таких случаях может пригодиться функция lambda. Она служит для того, чтобы создавать функции «на ходу»; другими словами lambda описывает анонимные функции. Иногда lambda определяется как анонимная функция. Например, вместо описания функции equals2можно использовать выражение lambda для выполнения той же операции:

_$ (mapcar '(lambda (num) (= num 2)) '(1 2 3 4))

(nil T nil nil)

В данном фрагменте кода выполняется следующее:

(= 1 2) -> nil

(= 2 2) -> T

(= 3 2) -> nil

(= 4 2) -> nil

После этих пояснений работа функции gp:FindPointInList становится понятной. Снова обратимся к комментариям внутри исходного кода.

 




Начало  Назад  Вперед



Книжный магазин