【问题标题】:Returning lazy sequences返回惰性序列
【发布时间】:2023-02-05 11:31:27
【问题描述】:

我有一个惰性序列,我对其进行了一些操作并希望从函数返回

func getSeq() -> ??? {
  let a = array.lazy
      ./* ... operations like map, filter, etc */
}

a 的最终类型是:

LazyMapSequence<FlattenSequence<LazyMapSequence<LazyFilterSequence<LazySequence<[[ComponentId] : ArchetypeId]>.Elements>.Elements, Zip2Sequence<Zip2Sequence<[C1], [C2]>, [C3]>>>, (C1, C2, C3)>

现在如何返回 a 而不必将返回类型指定为该 long 类型?

【问题讨论】:

    标签: swift lazy-evaluation lazy-sequences


    【解决方案1】:

    Opaque result types 就是为了这个目的而存在的。您可以将它们与主要关联类型结合使用。

    你会说你的函数返回some Sequence&lt;Element&gt;

    【讨论】:

    • 当我这样做时,我得到Cannot specialize non-generic type 'Sequence'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 2016-09-19
    • 2012-03-01
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多