gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 12:47:17 34 4
gpt4 key购买 nike

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

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

最佳答案

val input = generateSequence(::readLine).joinToString("\n")
print(input)

第一行从标准输入中获取多行输入,并将其放入一个变量中。

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

::readLine 部分是将用于从标准输入读取的 readLine 函数传递给 generateSequence 的一种方式功能。只调用没有 ::readLine() 将导致编译器错误,因为 generateSequence 需要一个 lambda,而不是一个字符串。

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

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

关于kotlin - 如何从 kotlin 中的 stdin 读取所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55231826/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com