欢迎!请查看关于页面获取有关如何使用此功能的更多信息。
(let [{x :x} '({:x "foo"})] x);; => "foo"
这与工具无关——这只是 Clojure 中解构的方式
user=> (clojure.pprint/pprint (destructure '[{a :a} []])) [map__6 [] map__6 (if (clojure.core/seq? map__6) (if (clojure.core/next map__6) (clojure.lang.PersistentArrayMap/createAsIfByAssoc (clojure.core/to-array map__6)) (if (clojure.core/seq map__6) (clojure.core/first map__6) clojure.lang.PersistentArrayMap/EMPTY)) map__6) a (clojure.core/get map__6 :a)] nil
这个特定的行为是实施此票据的一个副作用:https://clojure.atlassian.net/browse/CLJ-2603
好吧,我刚刚意识到这可能是我正在使用的 shadow-cljs 或其他下游工具的问题。