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

欢迎!请参阅关于页面获取更多关于如何使用本站的信息。

0
Java Interop

目前,clojure.core中的 "get"、"get-in" 及相关函数仅在 Clojure 向量、映射和 Java 数组上工作,但不适用于 java.util.List 的实例。

(def al (java.util.Arrays/asList (object-array (link: 1 2 3 4))))
(get al 2)
=> nil

这使得处理类似于嵌套 Clojure 数据结构的 Java 对象的嵌套结构变得不方便。

这也与其他支持任意 java.util.List 实例的 clojure.core 函数(例如 "nth" 和 "count")不一致。

通过稍作修改 RT.java,可以允许核心函数在任意 java.util.List 实例上操作。这种变更似乎没有任何显著的负面影响(它不在快速路径上,因此不会影响常规 ILookup 或 Map 检查)。

2 答案

0

评论由:mikera 提出

CLJ-1624 补丁

0
...