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

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

0
Spec
与 {{inst?}} 关联的规范生成器可能产生的瞬间在技术上有效,但不可以读回(而且在现实中也不实用)。


(require '[clojure.spec.alpha :as s])

(second (last (s/exercise inst? 100)))
;; => #inst "883641-02-19T16:17:26.482-00:00"

#inst "883641-02-19T16:17:26.482-00:00"
;; => RuntimeException 日期时间语法不识别:883641-02-19T16:17:26.482-00:00  clojure.instant/fn--7987/fn--7988 (instant.clj:107)


这是一个小问题,但我是在与 inst 生成器和生成的值在交互的过程中遇到这个问题的。

3回答

0
_评论由:glts_发布

当生成的 inst 处于公元前时期时,这个问题会更严重。在这种情况下,即使是 inst 也可能无法读取回来,而且因为没有指示“负年份”,信息也会丢失。
0

评论由:souenzzo 发布

有关 CLJ-2486 中 reader/printer 的限制的信息
我遇到这个问题是因为我在通过线路生成数据以及使用 pr-str / read-string

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