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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д