如何在Kotlin中创建无限长的序列
我在找像这样的东西如何在Kotlin中创建无限长的序列,kotlin,Kotlin,我在找像这样的东西 val allInts = (1..).asSequence() 所以我可以,举个例子 allInts.take(5) 如果需要无限序列,则应使用新的sequence功能: val sequence = sequence { while (true) { yield(someValue()) } } 先前的答案 使用Int.MAX_值作为上限。整数不能大于Int.MAX\u值 val allInts = (1..Int.MAX_VALUE).asSequ
val allInts = (1..).asSequence()
所以我可以,举个例子
allInts.take(5)
如果需要无限序列,则应使用新的
sequence
功能:
val sequence = sequence {
while (true) {
yield(someValue())
}
}
先前的答案
使用Int.MAX_值
作为上限。整数不能大于Int.MAX\u值
val allInts = (1..Int.MAX_VALUE).asSequence()
不过,这并不是无限的:当达到Integer.MAX_值时,它将溢出。JB的答案很好,但您也可以使用它
generateSequence(1, Int::inc)
如果你喜欢简洁的话
generateSequence(1, Int::inc)