如何在Kotlin中创建一个无限长的序列
我正在寻找类似的东西
val allInts = (1..).asSequence()
所以我可以,例如
allInts.take(5)
val sequence = generateSequence(1) { it + 1 } val taken = sequence.take(5); taken.forEach { println(it) }
但这并不是真正的无限:当达到Integer.MAX_VALUE时,它会溢出。
使用Int.MAX_VALUE
作为上限。 您不能有一个大于Int.MAX_VALUE
的整数。
val allInts = (1..Int.MAX_VALUE).asSequence()
JB的回答很好,但你也可以跟着去
generateSequence(1, Int::inc)
如果你是整个简洁的事情。
- 在Kotlin TornadoFX上获取datepicker日期
- 在Kotlin中匿名实现接口导致“没有构造函数”错误
- Intellij IDEA中Kotlin项目的自动完成和代码分析非常慢
- 在gradle-kotlin-dsl中的Android产品Flavors
- Android Dagger:我无法提供没有@Inject构造函数的外部类
- 异常处理程序不能使用`spring-boot-starter-data-rest`
- 如何添加gradle(理想情况下使用kotlin-dsl)到现有的intellij python项目
- 使用Anko更改按钮文本和进度条颜色
- Spring启动REST服务:JSON反序列化不起作用