为什么ISeq的“更多”未命名为“休息”?
public interface ISeq extends IPersistentCollection { Object first();
ISeq next();
ISeq more();
ISeq cons(Object o);
}
more
ISeq
的方法界面似乎只是起作用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