【问题标题】:Clojure: What is the underlying data structure of a lazy sequence?Clojure:惰性序列的底层数据结构是什么?
【发布时间】:2014-12-05 11:22:07
【问题描述】:

如上所述,惰性序列的底层数据结构是什么? 它是一个列表吗?如果是,那么它是什么样的列表?我在哪里可以找到这方面的参考资料?

【问题讨论】:

标签: data-structures clojure lazy-sequences


【解决方案1】:

数据结构是clojure.lang.Lazyseq,定义为herelazy-seq 宏创建这样的。

如您所见,LazySeq 本质上是一个链表,它以 thunk(零参数函数)成员 fn 开始。当序列实现时,fn 用于生成数据成员ssv 并且本身被取消。我不太明白ssv 是如何相互关联的。

【讨论】:

    猜你喜欢
    • 2010-10-29
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2010-12-08
    • 1970-01-01
    • 2011-09-15
    相关资源
    最近更新 更多