У меня есть вектор точек в 2D-пространстве, например:
[[0 0] [1 1] [2 2]]
И нужно вычислить расстояние между некоторой точкой и каждой точкой в векторе, чтобы определить, какая точка в векторе является ближайшей к точке, которую я запрашиваю. Мне нужно знать и расстояние, и ближайшую точку, поэтому я хочу, чтобы вектор хэшей был таким:
[{:point [0 0] :dist 2.7} {:point [1 1] :dist 3.5} {:point [2 2] :dist 4.3}]
Как я могу превратить первое во второе? Я пробовал что-то вроде этого:
(defn closest-point [point all-points]
(map #({:point % :dist (distance point %)}) all-points))
Но я получаю ошибку:
(user=> ArityException Wrong number of args (0) passed to: PersistentArrayMap clojure.lang.AFn.throwArity (AFn.java:437)