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

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

0
Clojure
从 1.8 版本开始,我们有了 {{map-entry?}} 断言,但没有任何对应的构造函数。实现可能非常简单,如下所示


(defn map-entry
  "使用键 k 和值 v 创建一个新的映射条目。

  另请参阅:map-entry?, key, val"
  [k v]
  (clojure.lang.MapEntry/create k v))

5 个回答

0

评论由:mfikes 发布

也许其他类型的映射条目对这种构造函数的用户来说很重要。

`
user=> (let [me (first (sorted-map :a 1))]

     [(map-entry? me) (type me)])

[true clojure.lang.PersistentTreeMap$BlackVal]
`

0

评论由:gshayban 发布

我看不出它的意义。拥有映射条目构造函数会有什么成就呢?

0

评论由:alexmiller 发布

Mike: 不,我认为这不应很重要

Ghadi: 野外的代码已经调用了 MapEntry/create,因为在某些情况下它更快 - 这当然更好。

0

评论由:jcr 发布

Ghadi: 另一个考虑因素是 clj\cljs 的可移植性。说到这一点...

亚历克斯:我应该为 clojurescript 也创建一个工单吗?看起来函数的主体将是

(cljs.core/MapEntry. k v nil)

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