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

Posted

技术标签:

【中文标题】readLine() 不等待 Kotlin/Native 中的用户输入【英文标题】:readLine() doesn't wait for user input in Kotlin/Native 【发布时间】:2019-11-23 16:10:25 【问题描述】:

这是一个简单的脚本

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

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

我错过了什么吗?

【问题讨论】:

readLine() ==> readLine()!! 【参考方案1】:

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


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

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

【讨论】:

在'in' ```macosX64("macos") binaries executable runTask?.standardInput = System.in ``` 周围使用记号

以上是关于readLine() 不等待 Kotlin/Native 中的用户输入的主要内容,如果未能解决你的问题,请参考以下文章

我们如何在(Node.js 8. 目前)上的 readline.on 函数下使用 promise

Python .readline()

Console.ReadLine(); 获取用户输入内容

IO流知识盲点

在另一个线程中中断 pySerial readline

“等待”Java中的流[重复]