Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在kotlin中读取stdin中的所有行?_Kotlin_Stdin - Fatal编程技术网

如何在kotlin中读取stdin中的所有行?

如何在kotlin中读取stdin中的所有行?,kotlin,stdin,Kotlin,Stdin,我知道可以使用while循环使用readLine函数从stdin获取多行输入 kotlin中是否有一个函数可以在不使用JVMAPI的情况下从stdin一次检索所有行 val input = generateSequence(::readLine).joinToString("\n") print(input) 第一行从stdin获取多行输入,并将其放入变量中 generateSequence是kotlin标准库kotlin.sequences包中的一个函数,它接受另一个函数并调用它,直到返回n

我知道可以使用while循环使用readLine函数从stdin获取多行输入

kotlin中是否有一个函数可以在不使用JVMAPI的情况下从stdin一次检索所有行

val input = generateSequence(::readLine).joinToString("\n")
print(input)
第一行从stdin获取多行输入,并将其放入变量中

generateSequence
是kotlin标准库
kotlin.sequences
包中的一个函数,它接受另一个函数并调用它,直到返回null。最后,它将返回一个Sequence实例,即可以迭代的元素序列

::readLine
部分是将用于从stdin读取的
readLine
函数传递到
generateSequence
函数的一种方法。不使用
::
调用
readLine()
将导致编译器错误,因为
generateSequence
需要lambda,而不是字符串

joinToString方法属于Sequence类。它将迭代其元素并使用给定的分隔符连接它们,在本例中,分隔符是新行(\n)


最后,在第二行,我们只是将结果打印到标准输出上。

请解释一下