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

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

0
asked 文档
已关闭

get 的实现检查了以下内容

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

get 的文档字符串目前读作

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

如果知道 Clojure 的数据模型,可以合理推断这适用于 maps 和关联数据。它在集合、字符串和数组上工作可能不那么明显,提及这一点可能会有所帮助。

补丁:clj-2249-3.patch

关闭时有备注: 已修复在 1.11.0-alpha3 中

7 个答案

0
answered by

评论者为:plexus

我已经尽量保持风格简洁,愿意听取关于措辞的建议。我还稍微修改了第一句话,因为我发现很难解析,但这与无关的更改可以撤销。

0
answered by

评论者为:alexmiller

我会保持第一句话不变。

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

对我来说,不明显的包含项包括:Clojure集合(虽然没有审查,但无疑在许多特殊情况下隐式使用)和特殊的Java情况,即字符串和数组。关于文风示例,我可以指出countnth,它们同样很奇怪。

所以,也许可以这样写一句话:“get还可以用于集合来返回包含的值,还可以用于字符串和数组以按照索引获得值。”

顺便说一下,我们还需要在规范中回答这些问题。我预计编写核心函数规范会带来更多这类棘手的问题。

0

评论者:daveliepmann

>我将保留第一句话不变。

是否欢迎以自己的问题方式进行重构?现在“映射到的值”的指代是不明确的。我同意它很难理解。

0

评论者为:alexmiller

(链接:~daveliepmann) 不感谢

0

评论者为:plexus

附加了新的补丁。

0

评论者为:alexmiller

稍微重构了文档字符串的添加。

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