ВУЗ:
Составители:
Рубрика:
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 <список>)
Эта функция возвращает последний элемент <списка>, который не
должен быть пустым. Например:
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »
