欢迎!请参阅 关于页面 了解更多关于此功能的信息。
(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 或其他下游工具时的问题。