Программирование на языке Автолисп. Куляс О.С. - 30 стр.

UptoLike

Составители: 

30
(mapcar '1+ '(10 20 30)) возвращает (11 21 31)
Это равносильно:
(1+ 10)
(1+ 20)
(1+ 30)
если не считать того, что функция MAPCAR возвращает список. Точ-
но так же:
(mapcar '1+ '(10 20 30) '(4 3 2)) возвращает (14 23 32)
Это равносильно:
(+ 10 4)
(+ 20 3)
(+ 30 2)
(lambda <аргументы> <выражение> ...).
Функция LAMBDA обычно применяется тогда, когда нужно иметь
дополнительную функцию, используемую только один раз. В этом случае
функции дают имя LAMBDA (при этом DEFUN не требуется
). Здесь
<аргументы> - это список аргументов функции (аналогично DEFUN);
<выражение > - это операторы функции.
Функция LAMBDA возвращает функцию, имеющую заданные <ар-
гументы>, выполняющую заданные <выражения> и не имеющую имени.
Функцию LAMBDA можно использовать самостоятельно. Например:
(lambda (a b c) (* a (- b c ))) 56 47 12) возвращается 1960.
Обычно необходимости в таком использовании нет. Однако имеет
смысл ее использовать с функциями
APPLY и MAPACAR, которые вы-
полняют действия над списками аргументов. Это полезно в тех случаях,
когда некоторые из аргументов функции являются константами или
задаются каким-либо другим способом. Например:
(mapcar '(lambda (x) (+ x 3)) '(10 20 30)) возвращает (13 23 33)
(mapcar '(lambda (x y z)
(* x (- y z)
)
'(5 6) '(20 30) '(14 5.0)
) возвращает (30 150.000000)
(last <список>)
Эта функция возвращает последний элемент <списка>, который не
должен быть пустым. Например:
30
           (mapcar '1+ '(10 20 30))           возвращает (11 21 31)

     Это равносильно:
         (1+ 10)
         (1+ 20)
         (1+ 30)
     если не считать того, что функция MAPCAR возвращает список. Точ-
но так же:

         (mapcar '1+ '(10 20 30) '(4 3 2))   возвращает (14 23 32)

     Это равносильно:
         (+ 10 4)
         (+ 20 3)
         (+ 30 2)

        (lambda <аргументы> <выражение> ...).
    Функция LAMBDA обычно применяется тогда, когда нужно иметь
дополнительную функцию, используемую только один раз. В этом случае
функции дают имя LAMBDA (при этом DEFUN не требуется). Здесь
<аргументы> - это список аргументов функции (аналогично DEFUN);
<выражение > - это операторы функции.
     Функция LAMBDA возвращает функцию, имеющую заданные <ар-
гументы>, выполняющую заданные <выражения> и не имеющую имени.
    Функцию LAMBDA можно использовать самостоятельно. Например:

    (lambda (a b c) (* a (- b c ))) 56 47 12) возвращается 1960.
    Обычно необходимости в таком использовании нет. Однако имеет
смысл ее использовать с функциями APPLY и MAPACAR, которые вы-
полняют действия над списками аргументов. Это полезно в тех случаях,
когда некоторые из аргументов функции являются константами или
задаются каким-либо другим способом. Например:

     (mapcar '(lambda (x) (+ x 3)) '(10 20 30))   возвращает (13 23 33)
     (mapcar '(lambda (x y z)
                          (* x (- y z)
                      )
              '(5 6) '(20 30) '(14 5.0)
         )                                  возвращает (30 150.000000)


        (last <список>)
    Эта функция возвращает последний элемент <списка>, который не
должен быть пустым. Например: