在意外地将关键字和(之前未定义)的符号切换到map解构中时,将会抛出一个错误
(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作为解构映射的键。