【发布时间】:2018-07-17 18:08:50
【问题描述】:
我只是在尝试新的kotlin 语言。我遇到了生成无限列表的序列。我生成了一个序列并尝试打印前 10 个元素。但是下面的代码没有打印任何东西:
fun main(args: Array<String>) {
val generatePrimeFrom2 = generateSequence(3){ it + 2 }
print(generatePrimeFrom2.toList().take(10))
}
但是当我在print 语句中更改take(10).toList() 时,它工作正常。为什么会这样?
这段代码对我来说很好用:
fun main(args: Array<String>) {
val generatePrimeFrom2 = generateSequence(3){ it + 2 }
print(generatePrimeFrom2.take(10).toList())
}
【问题讨论】:
-
“但是下面的代码没有打印任何东西:” - 它挂起并且没有打印任何东西吗?还是默默结束?
-
它没有挂起,但它一直在执行@SergioTulentsev
-
如果程序不产生任何输出,你如何分辨?
-
第一个 sn-p 代码没有打印任何内容。但是第二个代码打印了输出。在下面的答案中得到了我的解决方案@SergioTulentsev 感谢您的宝贵时间
标签: kotlin