问题很简单:将元素流转换为元素流,其中第一个元素是原始流,第二个是原始流的尾部,第三个是尾部的尾部,依此类推。 ..
示例:(1, 2, 3, ...) 变为 ((1, 2, 3, ...), (2, 3, 4, ...), (3, 4, 5, ...) , ...)
我的问题不完全是如何获得这个流,因为它很简单,而是是否已经有一个方法或一个运算符以惯用的方式做到这一点。如果没有这样的方法,我也在为这个操作寻找一个合适的名称。我觉得展开或展开并没有真正确定它,而是沿着这些思路。
更新:背景是我有一个类型的函数,Stream[A] => B
我想将它映射到输入流的所有后缀的流上。Stream[Stream[A]]
因此,将流转换为第一个以便对其进行映射似乎是可行的。我需要一个正确的名称,因为这似乎是我的代码中反复出现的模式。