2009-10-22 106 views
5

简单的问题。我可以做到这一点:单身斯卡拉演员?

object Xyz extends Actor { ... } 

还是做演员必须是具有实例的类?

+0

思考:如果我不能做到这一点,我可以有一个'object'其中有演员为会员... – Joe 2009-10-22 22:14:09

+0

思考:为什么不尝试,请参阅 – 2009-10-22 23:38:20

回答

6

object关键字本质上创建一个匿名类和类的单个实例。所以是的,该代码将会很好 - Xyz将作为一个Actor的对象的引用。

+0

谢谢,这就是我的想法。我确实尝试过,编译得很好,但消息似乎没有被演员收到。 – Joe 2009-10-23 06:25:36

+0

看起来这个问题与'对象'无关。解决了。 – Joe 2009-10-23 10:14:03

+1

与斯卡拉2.8,我得到这个错误: 对象创建不可能,因为方法行为反应堆的类型()单位没有定义 – Aaron 2010-07-01 06:22:10

2

我愿提出以下建议“射后不理”的格局:

Actor.actor {} doStuff

您的操作将在一个单独的线程运行的结论。

12

对象延伸Actor正常工作。

也许你忘了start这位演员? (这是一个错误,我做了最初)

object Xyz extends Actor { 
    start 

    ... 
} 
+3

是的,我忘记了启动演员(但是太尴尬,说... )。谢谢! – Joe 2009-10-25 10:19:38

+1

@Joe也许您应该将此标记为帮助未来访问者的正确答案 – HRJ 2013-02-28 14:56:09

+0

嗨HRJ。棘手的一个。拉克兰首先正确回答了这个问题。我问的原因是因为我没有开始演员,但严格来说这不是我的问题。为了正确,我想我会坚持拉克兰的回答,对不起。 – Joe 2013-02-28 15:02:32