我正在使用 scala 中的 Actor 编写一个程序,其中一个 Actor(Actor1)接受两个数字作为命令行参数并向另一个 Actor 发送消息(它计算它们的总和)。Actor2 将结果发送给 Actor1,后者将其打印在屏幕上。
class Actor1 extends Actor {
def main(args: Array[String]) {
val n= Integer.parseInt(args(0))
val k= Integer.parseInt(args(1))
val actor2 = new Actor2
actor2 ! (n, k)
}
def act()
{
react{
case num: Integer =>
println(num)
case _=>
println("Sum not received")
exit
}
}
}
class Actor2 extends Actor {
def act(){
loop
{
react
{
case(n:Int, k:Int) =>
val i = n + k
val actor1 = new Actor1
actor1 ! i}
}
}
}
是否可以在扩展 Actor 的类中定义 main(),还有其他方法可以接受 Actor 的命令行参数吗?它显示了错误:类 Actor1 需要是抽象的,因为未定义 ()Unit 类型的 trait Reactor 中的方法行为。