2012-11-19 22 views
5

के साथ जावा गणना के लिए स्काला पैटर्न मिलान अनुकूलित करें मुझे निम्नलिखित समस्या है: हमारे पास एक साझा स्कैला-जावा-प्रोजेक्ट है (सदस्यों के साथ जो केवल जावा कोड लिखते हैं), इसलिए हम एक उद्देश्य के लिए जावा गणना का उपयोग करते हैं। लेकिन अब मैं इस गणना पर स्कैला में पैटर्न मिलान करना चाहता हूं, और इसे @ स्विच के साथ अनुकूलित करना चाहता हूं, क्योंकि जावा स्विच वास्तव में enums का उपयोग कर सकता है।@switch

लेकिन संकलक केवल शिकायत:

error: could not emit switch for @switch annotated match 
(args.tileType: @switch) match { 

जहां tiletype क्षेत्र है जो enum में से एक मान होता है। कोड को अनुकूलित करने के लिए कैसे ठीक किया जाए?

उत्तर

2

आप जावा का उपयोग करते हैं।

स्कैला में जावा एनम्स पढ़ने में सक्षम होने के लिए केवल न्यूनतम आवश्यक आवश्यक है। आप वर्तमान में (2.10 के माध्यम से) स्कैला में उनका उपयोग या अनुकूलित रूप से उपयोग नहीं कर सकते हैं।

+0

अच्छी तरह से, यदि यह एक तथ्य है, तो यदि मैं वास्तव में महत्वपूर्ण हो जाता है तो मैं जावा का उपयोग करूंगा यदि प्रदर्शन वास्तव में महत्वपूर्ण हो जाता है – DerWaldschrat

+0

आप एनम्स से फ़ंक्शंस में हैश नक्शा बना सकते हैं और इस तरह से स्विच कर सकते हैं यदि सूची हास्यास्पद रूप से लंबी हो। (मान लीजिए कि आप इसे व्यवस्थित कर सकते हैं ताकि आपको प्रत्येक बार नक्शा बनाने की आवश्यकता न हो।) –