2024年Clojure状态调查中分享你的看法!

欢迎!请查看关于页面,了解该网站的更多详情。

+4
Clojure

在 CLJ-1894 中,我提议修改 clojure.walk/stringify-keys 以包括使用命名空间的单词键。然而,我对这一变化的向后兼容性进行了错误的假设,但我仍然认为这种行为并不完全符合预期。

Alex Miller 在评论 CLJ-1894 中指出的一个有趣的观点是,stringify-keys 和 keywordize-keys 实质上是同一个函数,只是变换不同。我认为有一个函数执行深层变换映射键,并使用用户提供的变换,这是一个好主意,它可以简化一些Clojure库。

建议

  • 添加 clojure.walk/transform-keys,以便遍历映射并变换所有键
  • 在 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]}} - 对于任何通用函数 -> 集合,集合通常是第一个参数。

0

评论者:szalansky

CLJ-1899 修补程序解决 Alex Miller 提出的问题。

0
参考:[https://clojure.atlassian.net/browse/CLJ-1899](https://clojure.atlassian.net/browse/CLJ-1899)(由 szalansky 提出)
...