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

Xia*_*ang 8 command-line scala user-input sbt

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

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

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

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

Jus*_*ony 8

将以下内容添加到build.sbt中

connectInput in run := true
Run Code Online (Sandbox Code Playgroud)

该SBT文档Configuring Input