0
有什麼辦法可以讓一個阿卡人演員等待用戶輸入嗎? 它似乎只是自己閱讀命令行,並保持爲空。如何等待演員中的用戶輸入?
編輯:代碼的問題部分補充說,問題是,演員不等待readline的,而是試圖將一個空入變量num:
def chooser: Receive = {
case ChooseRemote => {
println("Available remotes:> ")
paths.zipWithIndex.map{ case(x, i) => "num: " + i + " " + x }.foreach(println)
println("Enter number:> ")
try {
val num = scala.io.StdIn.readLine().toInt
clientActor ! LookupByLocation(paths(num))
}
catch {
case _: Exception =>
//context.system.scheduler.scheduleOnce(1.second, self, ChooseRemote)
}
}
case Found(actor) => {
context.become(menu(actor))
context.system.scheduler.scheduleOnce(1.second, self, ChooseMenuItem)
}
}
def receive: Receive = chooser
EDIT2:在問題體現在我把:fork in run:= true 在build.sbt文件中。
我認爲您需要提供_little_更多詳細信息代碼會很好。 –