我想在clojure向量上運行一些算術,但我似乎無法得到它的任何工作。我有這些載體....算法向量Clojure
locs - [[3 3] [5 5] [1 1] [2 2]]
tlocs - [[2 2] [4 5]]
rng - [2]
我想要做的是迭代或復發過LOCS並採取第一組號碼,並檢查其對第一套tlocs的,看看他們的範圍內的數據在rng中。因此,舉例來說,首先要檢查[3 3]是否在範圍[2 2]內,然後檢查[5 5]是否在[2 2]的範圍內,而不是它的範圍。一旦我完成了對tlocs中第一個集合的所有loc值,它將會再次執行,但是使用[4 5]進行比較。
任何人都可以幫我寫一個函數嗎?
我試圖做這樣的事情,但它不工作和does not看起來右無論是
(defn check [locs tlocs rng 0]
(loop [locs tlocs rng 0]
(<= (first t (first d)r)
(recur (rest locs) (inc index)))))
你能指定「範圍內」的含義嗎?爲什麼在[2 2]和[5 1]範圍內的'[3 3]'不是?如果函數'check':0在參數列表中是不允許的。 'loop'看起來很狡猾:你會影響'locs'和'rng'參數。 – mobiuseng
範圍內,米的距離,例如最大範圍是2米,[3 3]距離[2 2]僅1米。但[5 5],5 - 2 = 3因此超出範圍超出範圍2。但它在第二個tloc的範圍內[4 5] – Freeman
您想要結果是什麼? – mobiuseng