kotlin 的 readLine 函数的奇怪行为

Odd behavior with kotlin's readLine function

我正在为一份新工作选择 kotlin,并且我正在完成 intellij hello world app for kotlin

在本演练中,您创建了一个控制台应用程序,用于读取标准输入并打印问候语:

fun main(args: Array<String>) {
    println("What's your name?")
    val name = readLine()
    println("Hello, $name")
}

超级简单。

我 运行 遇到的问题是,当 运行 使用该应用程序时,我得到提示也输入我的名字,我输入它,按回车键,但没有任何反应。该应用程序仍在 运行ning,但它不接受第一次 enter 按钮按下后的标准输入。

如果我再按 enter 一次或两次,它最终会接受输入但会拉入一个空字符串(如果它将两到三个 enter 按钮中的每一个都注册为一个新行,则有意义) .

我可以在此处 post 的屏幕截图中无法捕捉到互动,但我确实录制了一段关于正在发生的事情的快速视频:https://vimeo.com/486636891

我查了一下 the kotlin docs on readLine,他们并没有真正告诉我可能发生的事情。

知道这里出了什么问题以及如何解决吗?最终我不会用 kotlin 编写很多控制台应用程序,所以它并不重要,但是无法在 language/tool 中完成第一个 hello-world 应用程序的想法让我很烦恼。

更新

嗯,一定是编译jar前的源代码运行ning的东西。

如果我继续完成本教程,直到构建 jar 并 运行 文件 运行 没问题:

如果不构建它就无法工作,这仍然很令人沮丧。

所以在深入挖掘之后,它似乎是一个 IDE 问题,所以我将它作为一个错误提交给了 JetBrains。

今天早上我收到一封电子邮件,说提交被重复,标记为错误,并已分配给某人,所以看起来这个问题是基于 def IDE 的,希望能在近期得到修复未来。

Here's the link to the issue如果有人想关注进度或查看未来的结果。