如何在Clojure中继续使用

时间:2018-12-12 08:34:11

标签: clojure

我正在尝试在Clojure中实现这段Python代码:

# Make sure the probability exceeds threshold*next best
for cat in probs:      
if cat==best: continue
  if probs[cat]*self.getthreshold(best)>probs[best]: return default
return best 

如何在Clojure中继续使用。我应该使用什么机制?

1 个答案:

答案 0 :(得分:1)

(->> probs
     (remove (partial = best))
     (reduce (fn [best prob] strong text
                 (if (> (* prob (get-threshold best)) best)
                     (reduced default)
                     best)) best))

最有可能充满错误,但要点是 删除概率最大的那些,然后将其余的减少到default

减少收益的方法是使用reduced