Форум программистов, компьютерный форум, киберфорум
Наши страницы
Clojure
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
yegorov
43 / 41 / 8
Регистрация: 17.04.2016
Сообщений: 39
1

Clojure map

15.05.2016, 22:59. Просмотров 868. Ответов 3
Метки нет (Все метки)

Есть ли map, который бы применял переданную функцию ко всем значениям из PersistentArrayMap'а
т.е. я хочу что-то в духе
Lisp
1
(map inc {"x" 7 "y" 8}) ; ==> ({"x" 8 "y" 9})
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2016, 22:59
Ответы с готовыми решениями:

Clojure
Посоветуйте русскоязычные ресурсы для изучения сего языка

Написать программу на Clojure
Написать функцию, которая разбивает предложение в отсортированный список слов Кто-то может...

Clojure - помогите начать
0. Написал название языка в заголовке темы по-нормальному, на английском (или это французский?,...

Ввод данных пользователем в Clojure
Как получать данные от пользователя? На такой код ругается: (defn sum (apply +...

Присвоение ввода с клавиатуры переменной в Clojure
Мне нужен код делающий следующее : 1. Присвоить ввод с клавы переменной. 2. "Сложить" её со...

3
__py__
81 / 152 / 12
Регистрация: 29.02.2016
Сообщений: 857
16.05.2016, 08:38 2
я не программирую пока на lisp- языках, но интересуюсь
http://www.clojureatlas.com/ интерактивный визуальный атлас-справка.
2
Catstail
Модератор
24847 / 12633 / 2307
Регистрация: 12.02.2012
Сообщений: 20,574
16.05.2016, 11:40 3
Про Clojure не скажу, а в обычном Лиспе это легко реализовать с помощью mapcar:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(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)
2
smoke853
504 / 509 / 42
Регистрация: 12.12.2013
Сообщений: 484
17.05.2016, 08:34 4
Лучший ответ Сообщение было отмечено yegorov как решение

Решение

http://clojuredocs.org/clojure.core/reduce-kv
3
17.05.2016, 08:34
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2016, 08:34

Clojure, lein-droid, Android ламерство
Пытаюсь разбираться с программированием под Андройд на Lisp'е. Сразу скажу -- имею очень...

Clojure. Последовательность создается задом-наперед
Делаю из SICP задание "треугольник Пифагора". Вот процедура, которая принимает на вход...

Ошибка при запуске локального сервера на Clojure в IntellijIDEA
Выводится ошибка по строке, которой даже нет. По отдельности все функции компилируются без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.