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

Fee*_*ard 4 kotlin kotlin-native

这是一个简单的脚本

fun main() {
    print("ready> ")
    val input = readLine()
    println("User input: $input")
}
Run Code Online (Sandbox Code Playgroud)

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

我错过了什么吗?

Art*_*rev 5

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


此外,您可以build.gradle使用附加参数扩展文件。你必须添加这样的东西:

macosX64("macos") {
    binaries {
        executable {
            runTask.standardInput = System.in
        }
    }
}
Run Code Online (Sandbox Code Playgroud)