map тип-результата f последовательность1 ... последовательностьn ⇒ результат
list
, vector
, string
;NIL
.NIL
, то NIL
.(map 'string (lambda (x y) (digit-char (+ x y) 16)) '(1 2 3 4) #(10 9 8 7)) "AAAA" (map 'list #'- '(1 2 3 4)) ; эквивалентно (mapcar #'- '(1 2 3 4)) (-1 -2 -3 -4) (setq a 1 b 2) 2 (map nil (lambda (var val) (set var val)) '(a b) '(10 20)) NIL a 10 (map 'string #'+ '(10 20) '(1 2)) Ошибка: числа не могут быть запакованы в строку!
Определим собственную функцию, меняющую все буквы строки, как латинские, так и русские, на строчные.
(defun russian-string-downcase (string)
;; Преобразовать и латинские, и русские буквы строки в строчные
(map 'string #'russian-char-downcase string)
(russian-string-downcase "A что ж Онегин?")
"a что ж онегин?"