2024 年 Clojure 状态调查! 分享您的想法。

欢迎!请查看 关于 页面以获取更多关于这个网站如何工作的信息。

0
Clojure

clojure.inspector/inspect-table 在 coll 的第一个元素为 nil 时会放弃。提供的补丁相当简单……与其盲目选择第一个元素(这可能是 nil),不如选择第一个非 nil 元素并使用其键作为列名……clojure.pprint/print-table 中也存在类似的问题,即如果未显式提供,则使用第一个元素的键。但对 'inspect-table' 而言并非如此。因此,无法“检查”第一个元素为 nil 的映射集合。我的(简单的)补丁会寻找第一个非 nil 元素并使用其键。映射的长度必须相同,因此没有问题……

3 个答案

0

评论者:jafingerhut

2012 年 7 月 12 日的 clj-1020-inspect-table-skip-nil-rows-patch1.txt 与 7 月 2 日的 inspector.patch 相同,除了它采用了所需的 git 格式。在补丁中对作者 Dimitrios Piliouras 给予了适当的署名。

0

评论者:jimpil

我将 "clj-1020-inspect-table-skip-nil-rows-patch1.txt" 的内容literally 复制并粘贴到了 "clj-1020-inspect-table-skip-nil-rows-patch2.txt",更改了以下内容:

(some #(when-not (nil? %) %) data)

(some identity data)

这将使代码更加整洁、更快,因为我们跳过了内部的 nil-test。

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