ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »