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
}
}
}
这是一个简单的脚本
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
}
}
}