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

欢迎!请访问关于页面了解更多有关这个工作方式的信息。

0
文档
已关闭

get实现的检查以确定

  • ILookup
  • nil
  • Map
  • IPersistentSet
  • String或Java数组

get的文档字符串目前读取

"返回映射到键的值,如果键不存在则返回not-found或nil。"

如果一个人知道Clojure的数据模型,那么可以合理推断它适用于map和关联数据。然而,它对集合、字符串和数组的工作原理并不明显,并且最好能提到这一点。

补丁: clj-2249-3.patch

关闭时的注释: 修复在1.11.0-alpha3

7 个答案

0

评论者:plexus

我尽量保持与原来的简洁风格一致,欢迎提出措辞建议。我还略微更改了第一句话,因为它对我来说很难理解,但这是一个与主题无关的更改,如果需要可以撤销。

0

评论者:alexmiller

我建议保留第一句话不变。

所有这些集合操作都有点难于简洁地陈述意图,同时还要涵盖特殊情况(这些情况通常与Java类型相关)。在这里,我认为意图是涵盖“关联数据结构”中的查找,这包括Clojure的map、记录、向量、Java map以及其他不那么明显的东西,比如奇特的ILookup实现。

对我来说,不那么明显的包括:Clojure 集合(我没有审查,但毫无疑问,这在许多特殊情况下是隐式使用的),以及 Java 特殊情况,即字符串和数组。以 "count" 和 "nth" 为例,它们都非常奇怪。

所以,可能需要一个类似的句子,比如:“get 也可以用于集合以返回包含的值,以及用于字符串和数组的索引值。”?

顺便说一句,我们还需要在规格说明书中回答这些问题。我预计对核心函数的规格说明将推动更多这些棘手的问题。

0

评论者:daveliepmann

>我会保持第一句话不变。

是否欢迎对这一点进行重新表述?目前“映射到的值”的指代是模糊的。我同意这很难理解。

0

评论者:alexmiller

(链接:~daveliepmann) 不用了,谢谢

0

评论者:plexus

附加了新的补丁。

0

评论者:alexmiller

稍微修改了一下文档字符串的添加部分。

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