2009-10-22 163 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