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

欢迎!请在 关于页面 了解更多关于如何使用本站的信息。

+3
core.match
修改标签

当传递一个包含包含斜杠字符的字符串键的映射时,clojure.core.match/match 在宏展开期间出错。

这在Clojure和ClojureScript中都会发生。

示例

$ clj -Sdeps '{:deps {org.clojure/core.match {:mvn/version "1.0.0"}}}'

Clojure 1.10.3
user=> (require '[clojure.core.match :as match])
nil

user=> (match/match {} {"a/b" x} x)
Syntax error macroexpanding clojure.core/let at (REPL:1:1).
ocr-1539_a/b__1543 - failed: simple-symbol? at: [:bindings :form :local-symbol] spec: :clojure.core.specs.alpha/local-name

user=> (match/match {"a/b" 0} {"a/b" x} x)
Syntax error macroexpanding clojure.core/let at (REPL:1:1).
ocr-1545_a/b__1549 - failed: simple-symbol? at: [:bindings :form :local-symbol] spec: :clojure.core.specs.alpha/local-name

预期行为:它可以匹配所有字符串,即使它们包含特殊字符。

1 个回答

0
...