2012-06-25 12 views
5

आप स्कैला में संकलन समय स्थिरांक कैसे घोषित करते हैं? सी # में यदि आप घोषितस्कैला: संकलन समय स्थिरांक

const int myConst = 5 * 5; 

myConst में लाइन है के रूप में शाब्दिक 25. है:

final val myConst = 5 * 5 

बराबर या कुछ अन्य तंत्र/वाक्य रचना है?

उत्तर

8

हां, final valDaniel's caveats के साथ उचित वाक्यविन्यास है। हालांकि, उचित स्कैला शैली में आपके स्थिरांक को पूंजी के पहले अक्षर के साथ ऊंट होना चाहिए।

यदि आप पैटर्न के मिलान में अपने स्थिरांक का उपयोग करना चाहते हैं तो पूंजी पत्र से शुरुआत करना महत्वपूर्ण है। पहला पत्र यह है कि कैसे स्कैला कंपाइलर निरंतर पैटर्न और चर पैटर्न के बीच अंतर करता है। Programming in Scala की धारा 15.2 देखें।

एक val या सिंगलटन वस्तु एक मैच पैटर्न के रूप में उपयोग करने के लिए आप बैकटिक में यह जोड़ देना चाहिए (``)

x match { 
    case Something => // tries to match against a value named Something 
    case `other` => // tries to match against a value named other 
    case other =>  // binds match value to a variable named other 
} 
5

final val ऐसा करने का तरीका है। संकलक तब एक संकलन-समय स्थिर बना देगा यदि यह कर सकता है।

"यदि यह कर सकता है" के विवरण के लिए नीचे डैनियल की टिप्पणी पढ़ें।

+14

आप दो महत्वपूर्ण बिंदुओं भूल गया, एक अपरकेस पत्र के साथ शुरू नहीं होता है: यह स्थिर होना चाहिए संकलन समय पर हल किया गया - मुझे यकीन नहीं है कि स्कैला संकलन समय पर शाब्दिक अंकगणित करता है - और, गलत होने में बहुत आसान है, _it में टाइप_ नहीं होना चाहिए। यदि आप इसे 'अंतिम वैल myConst: Int = 5' घोषित करते हैं, तो इसे निरंतर नहीं माना जाएगा। –

+1

क्या आपके पास _it के बारे में कोई संदर्भ नहीं है जिसमें टाइप_ होना चाहिए? –

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