运行 使用 sbt 的 scala 程序时提示用户输入

prompt for user input when running scala program with sbt

我有一个非常简单的 Scala 程序:

object TakeInputs {
  def main(args: Array[String]) {
    val name = readLine("What is your name?")
    println(name)
  }
}

当我尝试 运行 这个时 sbt "project myproject" "run-main TakeInput" 它不等待用户输入,程序刚刚结束 What is your name?null 作为输出。

有没有办法让 sbt 等待用户输入(比如如果 "readLine" 在 sbt 控制台中是 运行 会发生什么)?我可以提供输入作为命令行参数,但我有很多输入,我想通过显示指示用户接下来应该输入什么的消息来使程序更加用户友好。谢谢。

将以下内容添加到您的 build.sbt

connectInput in run := true

来自 the sbt documentationConfiguring Input