2024 年 Clojure 状况调查 中分享您的想法!

欢迎!请参阅 关于 页面以了解有关此功能的更多信息。

0
集合

当在映射解构中意外切换关键字和(先前未定义)符号时,会抛出错误

(let (link: {:b b} {:b 1}) b)

=> CompilerException java.lang.RuntimeException: 在此上下文中无法解析符号:b,编译:(/tmp/form-init7939480206147277345.clj:1:1)

然而,当符号(以下使用 "a")定义时,存在一个更微妙的问题

(def a 0)
(let (link: {:a a} {:a 1}) a)
=> nil

预期:解构应只接受:or、:keys、:as、:strs 和 :syms 作为解构映射中的键。

3 答案

0

评论由:michaelblume

这可能是对 CLJ-1613 的重复。

0

评论由:claj

Michael,我认为这是一个略有不同的问题。

0
参考: https://clojure.atlassian.net/browse/CLJ-1702(由 claj 报告)
...