Tôi có một chức năng muốn kéo giá trị ra khỏi bản đồ dựa trên thứ tự ưu tiên. Hiện tại tôi đang làm nó như một cấu trúc lồng nhau nếu là khủng khiếp. Tôi phải tin rằng có một cách tốt hơn.Giá trị trích xuất Clojure từ bản đồ dựa trên logic được ưu tiên
Trong khi tác phẩm này có cách nào tốt hơn?
(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)
)
)
)
)
)
)
)
Đây là câu trả lời đúng. –
... trừ khi bạn cũng muốn tìm nạp giá trị nil. –
... hoặc 'false'. Nếu đó là một vấn đề, hãy xem câu trả lời của tôi cho một điều chỉnh thích hợp, nếu không chắc chắn sử dụng điều này. –