2024 Clojure调查!中分享你的想法。

欢迎!请参阅关于 页面了解更多关于此工作方式的信息。

+4
Clojure

我在CLJ-1894中提出要修改clojure.walk/stringify-keys,使其在关键字使用命名空间时包含命名空间。我对这个变化的向后兼容性做了一个错误的假设,但我仍然认为这种行为并不完全符合预期。

Alex Miller在他的CLJ-1894评论中指出的有趣之处在于,stringify-keys和keywordize-keys本质上是可以做不同转换的同一个函数。我认为拥有一个可以执行用户提供的转换的深层map键转换的函数是一个好主意,这可以简化一些Clojure库。

提议

  • 向clojure.walk中添加/transform-keys以遍历map并转换所有键
  • 在clojure.walk/stringify-keys和clojure.walk/keywordize-keys中使用transform-keys

补丁: clj1899-review1.patch

审查者: Alex Miller

4 个答案

0

评论者:szalansky

CLJ-1899补丁

0

评论者:alexmiller

在该补丁中,{{transform-keys}}应该以倒序接收参数{{[m f]}} - 通常对于任何函数(collection -> collection),集合应该是第一个参数。

0

评论者:szalansky

CLJ-1899补丁解决Alex Miller指出的各种问题。

0
by
参考:https://clojure.atlassian.net/browse/CLJ-1899(由szalansky报告)
...