这是我正在开发的聊天中的一个问题。有一个带有 main 方法的 main/gui 对象,一个发送消息的 Actor 发送者和一个接收消息的 empfänger。问题是让 empfänger 使用 main/gui 对象的函数来显示传入的消息。因为不起作用,所以我简化了它,但我仍然没有得到问题。谁能告诉我为什么这在终端什么都不返回?我究竟做错了什么?
import scala.actors._
object main_object {
def infoterm(msg: String) = {
println(msg)
}
def main(args: Array[String]) = {
println("hallo")
empfänger ! "foo"
}
}
object empfänger extends Actor{
var port = 50042
var name = "local"
var continuevar = true
def foo(in: String) = {
println("foo-empfänger" + in)
}
def act() {
println("ydfjskj")
test2.infoterm("tut")
println("Empfänger gestartet")
while(continuevar) {
react {
case msg:String => {
println("empfänger" + msg)
test2.infoterm(msg)
foo("empfänger" + msg)
}
}
}
}
}
谢谢你的帮助,但我还是不明白。我按照你告诉我的那样进行了修改,但它仍然无法正常工作。
只有通过定义 Actor empfänger,整个程序才会停止工作,如下所示:
import scala.actors._
object test2 {
def infoterm(msg: String) = {
println(msg)
}
def main(args: Array[String]) = {
println("hallo")
}
}
object empfänger extends Actor{
def act() {
// test2.infoterm("tut")
// println("Empfänger gestartet")
loop {
react {
case msg:String => {
if(msg == "Stop") exit()
else {
println("empfänger" + msg)
// test2.infoterm(msg)
}
}
}
}
}
}
我究竟做错了什么?