Clojure 获取地图中某个可能值的惯用方法?

Clojure 获取地图中某个可能值的惯用方法?,clojure,Clojure,获取贴图中几个可能键的第一个非零值的最佳方法是什么 例如: (get-first-matching {:fum 4 :bar 41 :baz 45} [:foo :bar :baz]) ;=> 41 正是我想要的!:)值得注意的是,映射在这里被用作谓词函数,通过键集合调用。因此,您将得到的不是严格意义上的第一个非零值,而是第一个“真实”值。例如,尝试(一些{:foo-nil:bar-false:baz 20}[:foo:bar:baz])。对,因此适用于零或false值的版本看起来像(

获取贴图中几个可能键的第一个非零值的最佳方法是什么

例如:

(get-first-matching {:fum 4 :bar 41 :baz 45} [:foo :bar :baz])
;=> 41


正是我想要的!:)值得注意的是,映射在这里被用作谓词函数,通过键集合调用。因此,您将得到的不是严格意义上的第一个非零值,而是第一个“真实”值。例如,尝试
(一些{:foo-nil:bar-false:baz 20}[:foo:bar:baz])
。对,因此适用于零或false值的版本看起来像
(当let[[kv](一些#(find m%)[:foo:bar:baz])]v
user=> (some {:fum 4 :bar 41 :baz 45} [:foo :bar :baz])
41