2009-10-22 9 views
5

सरल सवाल। क्या मैं यह कर सकता हूं:सिंगलटन स्कैला अभिनेता?

object Xyz extends Actor { ... } 

या अभिनेताओं को उदाहरणों के साथ कक्षाएं होनी चाहिए?

+0

विचार (यही कारण है कि एक गलती मैं शुरू में किया है): मैं ऐसा नहीं कर सकता है, मैं तो बस एक 'object' जो एक सदस्य के रूप अभिनेता है ... – Joe

+0

सोचा हो सकता था: क्यों यह कोशिश नहीं की और देखें –

उत्तर

6

object कीवर्ड अनिवार्य रूप से एक अनाम वर्ग और उस वर्ग का एक उदाहरण पैदा कर रही है। तो हाँ, वह कोड ठीक रहेगा - Xyz किसी ऑब्जेक्ट की ऑब्जेक्ट का संदर्भ होगा।

Actor.actor {doStuff}

आपका आपरेशन निष्कर्ष पर एक अलग थ्रेड में चलेंगे:

+0

धन्यवाद, यही मैंने सोचा था। मैंने कोशिश की और यह ठीक संकलित हुआ, लेकिन अभिनेता द्वारा संदेश प्राप्त नहीं हो रहे हैं। – Joe

+0

ऐसा लगता है कि समस्या 'ऑब्जेक्ट' से असंबंधित थी या नहीं। हल किया। – Joe

+1

स्कैला 2.8 के साथ, मुझे यह त्रुटि मिलती है: ऑब्जेक्ट निर्माण असंभव है, क्योंकि विधि में विधि कार्य() इकाई को परिभाषित नहीं किया गया है – Aaron

2

मैं निम्नलिखित 'आग और भूल जाओ' की सिफारिश पैटर्न करना चाहते हैं।

12

वस्तु Actor विस्तार ठीक काम करता है।

शायद आप start अभिनेता को भूल गए हैं?

object Xyz extends Actor { 
    start 

    ... 
} 
+3

हाँ, मैं अभिनेता को शुरू करना भूल गया था (लेकिन कहने के लिए बहुत शर्मिंदा था ...)। धन्यवाद! – Joe

+1

@ जो शायद आपको भविष्य के आगंतुकों की सहायता के लिए सही उत्तर के रूप में चिह्नित करना चाहिए – HRJ

+0

हाय एचआरजे। मुश्किल एक। लचलन ने पहले सवाल का जवाब दिया। मैंने जो कारण पूछा वह इस तथ्य से प्रेरित था कि मैंने अभिनेता शुरू नहीं किया था लेकिन सख्ती से यह मेरे प्रश्न में नहीं था। मुझे लगता है कि मैं शुद्धता के लिए लचलन के जवाब के साथ रहूंगा, क्षमा करें। – Joe

संबंधित मुद्दे