gpt4 book ai didi

clojure - 为什么 ISeq 的 "more"不命名为 "rest"?

转载 作者:行者123 更新时间:2023-12-02 23:43:57 24 4
gpt4 key购买 nike

public interface ISeq extends IPersistentCollection {
Object first();
ISeq next();
ISeq more();
ISeq cons(Object o);
}
ISeq 接口(interface)的

more 方法似乎仅在 rest 中起作用。为什么它被命名为 more 而不是 rest

最佳答案

此信息是我对 Clojure git 存储库进行考古学的解释。

最初只有 rest,它返回 nil,而不是像今天那样返回空列表。当Rich介绍lazyness ,然后更名为 next,并且 ISeq 获得了 more 方法。 ASeq 实现 more 方法以返回空 seq 而不是 nil,并保留 next 方法抽象。此后的某个时刻,rest 函数作为我们今天所知的非 seq、空列表返回版本重新焕发活力,但 Java 代码并未重构。

关于clojure - 为什么 ISeq 的 "more"不命名为 "rest"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15815639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com