readLine() 不等待 Kotlin/Native 中的用户输入

readLine() doesn't wait for user input in Kotlin/Native

这是一个简单的脚本

fun main() {
    print("ready> ")
    val input = readLine()
    println("User input: $input")
}

当我 运行 使用 gradle runReleaseExecutableMacos 这个程序时,我希望我会看到 ready> 提示,并且有可能输入一些字符。但是这个程序立即结束,结果是 User input: null

我是不是漏掉了什么?

要实现您想要的行为,您可以运行 由Gradle 生成的可执行文件。它将有一个扩展名 *.kexe


此外,您可以使用附加参数扩展 build.gradle 文件。你必须添加如下内容:

macosX64("macos") {
    binaries {
        executable {
            runTask.standardInput = System.in
        }
    }
}