如何在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)