Scala,无限重复有限列表
发布时间:2020-12-16 09:45:17 所属栏目:安全 来源:网络整理
导读:我想在scala中使用Stream类来无限重复给定的列表。 例如列表(1,2,3,4,5)我想创建一个给我的流(1,5,1,3 ….) 所以我可以包装采取操作。我知道这可以以其他方式实现,但是我想这样做是为了某种原因,只是幽默我:) 所以这个想法是,通过从一些列表创建的这个无
我想在scala中使用Stream类来无限重复给定的列表。
例如列表(1,2,3,4,5)我想创建一个给我的流(1,5,1,3 ….) 所以我可以包装采取操作。我知道这可以以其他方式实现,但是我想这样做是为了某种原因,只是幽默我:) 所以这个想法是,通过从一些列表创建的这个无限循环,我可以使用take操作,当它到达列表的末尾时,它会循环。 如何制作一个简单重复给定列表的流? 解决方法
非常类似于@ Eastsun的,但有一点意图揭示。测试在Scala 2.8。
scala> val l = List(1,3) l: List[Int] = List(1,3) scala> Stream.continually(l.toStream).flatten.take(10).toList res3: List[Int] = List(1,1) 或者,与Scalaz: scala> import scalaz._ import scalaz._ scala> import Scalaz._ import Scalaz._ scala> val l = List(1,3) scala> l.toStream.repeat[Stream].join.take(10).toList res7: List[Int] = List(1,1) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |