我點的二維空間中的向量,例如:地圖矢量爲矢量散列Clojure中
[[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)
Joost的,謝謝。我有一個複製和粘貼錯誤,它忽略了我的哈希周圍的#(),我現在在問題中修正了這個錯誤。你的第二個解決方案完美運作如果您刪除開頭的段落和第一個示例(不起作用),我會接受您的回答。 –
更新了我的答案 –