为什么ISeq的“更多”未命名为“休息”?

public interface ISeq extends IPersistentCollection { 

Object first();

ISeq next();

ISeq more();

ISeq cons(Object o);

}

moreISeq的方法界面似乎只是起作用rest。为什么它被命名为more而不是rest?为什么ISeq的“更多”未命名为“休息”?

回答:

这个信息是我在Clojure git仓库上做一些考古的解释。

最初只有rest,它返回nil而不是像今天那样使用emtpy列表。当Rich引入lazyness时,它被更名为next,并且ISeq获得more方法。 ASeq实现more方法返回一个空seq而不是nil,并保留next方法摘要。在此之后的某个时刻,rest函数被重新命名为我们今天知道的非seq空列表返回版本,但是Java代码没有被重构。

以上是 为什么ISeq的“更多”未命名为“休息”? 的全部内容, 来源链接: utcz.com/qa/266846.html

回到顶部