我有一个函数想要根据优先顺序从 map 中提取一个值。目前,我正在做一个可怕的嵌套if结构。我必须相信有更好的方法。
虽然这有效,还有更好的方法吗?
(defn filter-relatives [relatives]
(if(contains? relatives :self)
(relatives :self)
(if(contains? relatives :north)
(relatives :north)
(if(contains? relatives :west)
(relatives :west)
(if(contains? relatives :east)
(relatives :east)
(relatives :south)
)
)
)
)
)
)
)
最佳答案
(some relatives [:self :north :west :east :south])
关于map - Clojure基于优先级逻辑从 map 中提取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9363411/