Clojure map - Lisp
Формулировка задачи:
Есть ли map, который бы применял переданную функцию ко всем значениям из PersistentArrayMap'а
т.е. я хочу что-то в духе
(map inc {"x" 7 "y" 8}) ; ==> ({"x" 8 "y" 9})
Решение задачи: «Clojure map»
textual
Листинг программы
(defun f (lst) (mapcar (lambda (x) (if (numberp x) (+ x 1) x)) lst)) ==> f (f '("x" 7 "y" 8)) ==> ("x" 8 "y" 9) ;; Если же нужно задавать действие над числами, то вот: (defun ff (lst f) (mapcar (lambda (x) (if (numberp x) (funcall f x) x)) lst)) ==> ff (ff '("x" 7 "y" 8) (lambda (x) (* x x))) ==> ("x" 49 "y" 64)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д