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

欢迎!有关该功能的更多信息,请参阅关于页面。

0 点赞
文档
已关闭

get实现检查以下内容:

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

get的文档字符串目前是这样写的:

"返回与键关联的值,如果键不存在则返回未找到或nil"。

如果知道Clojure的数据模型,可以合理地推断这会在map和关联数据上工作。它会在set、String和数组上工作这一点不是很明显,但最好要说明。

补丁: clj-2249-3.patch

以以下备注关闭:已修复在1.11.0-alpha3中

7 个回答

0 点赞

评论者:plexus

我尽量保持了同样的简洁风格,欢迎提出对表述的改进建议。我还稍微修改了第一句话,因为我觉得它很难理解,但这只是一个无关的改变,如果喜欢,我可以撤销。

0 点赞

评论者:alexmiller

我会保留第一句话的原样。

所有这些集合操作都在简洁地陈述意图的同时涵盖特殊情况(通常与Java类型相关)。我认为这里的意图是涵盖“关联数据结构”中的查找,这包括Clojure maps、records、vectors、Java maps和类似ILookup impls等其他不太明显的东西。

对我来说不那么明显的是:Clojure集合(我没有审查,但无疑在许多特殊情况下隐式使用),以及Java的特殊情况,即字符串和数组。关于措辞的例子,我会提到countnth,它们是同样奇怪。

所以可能一个句子像:“get在集合上也可以返回包含的值,在字符串和数组上按索引返回值。”?

顺便说一下,我们还需要在规范中回答这些问题。我期望规范核心函数的行为将更多地推动这些棘手的问题。

0 点赞

评论者:daveliepmann

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

是否可以在单独的问题中重新措辞?现在“映射到的值”的所指是不明确的。我同意这很难理解。

0 点赞

评论者:alexmiller

(链接:~daveliepmann) 不必谢

0 点赞

评论者:plexus

附加了新补丁。

0 点赞

评论者:alexmiller

略微重写了文档字符串添加。

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