在 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