Обновить и заменить значение карты - PullRequest
15 голосов
/ 23 февраля 2011

Я уверен, что это прямо здесь передо мной, но я скучаю по нему. Изучите следующее:

(assoc :position entity
      (add (:position entity) (:velocity entity)))

Я хочу сделать что-то вроде этого (с поддельной функцией altermap):

(altermap :position entity #((add % (:velocity entity)))

Какой метод предлагается? Есть ли встроенная функция для выполнения # 2?

1 Ответ

23 голосов
/ 23 февраля 2011

update-in почти так же, как ваша altermap функция, за исключением того, что она использует вектор ключей вместо одной клавиши.Итак:

(update-in entity [:position] #(add % (:velocity entity)))

Насколько мне известно, нет единственного варианта ключа update-in, но необходимость заключать скобки в скобки не должна быть слишком громоздкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...