我正在研究clojure.spec,并遇到以下情况:
(s/def ::the-aughts (s/inst-in #inst "2000" #inst "2010"))
我猜#inst "2000"
可能意味着2000年初的时间实例。但是我无法通过谷歌找到描述符号的正确文档及其背后的概念。
我也没有在Clojure教科书中学到过。
答案 0 :(得分:4)
此语法称为"tagged literals"。它允许使用您自己的类型扩展EDN。 Clojure reader supports it并提供了一种机制,用于将标记文字映射到将产生实际值的函数。
即时标记文字(#inst
)映射到date parsed from the string。您可以在the cookbook和Clojure changelog中找到更多信息。