请分享您的想法,参加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
by

评论人:jcr

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

Alex:我应该为clojurescript也创建一个工单吗?看起来函数体可能是

(cljs.core/MapEntry. k v nil)

0
by
...