खोज…


बुनियादी अगर अभिव्यक्तियाँ

स्काला में (जावा और अन्य भाषाओं के विपरीत), if एक बयान के बजाय एक अभिव्यक्ति है । बावजूद, वाक्यविन्यास समान है:

if(x < 1984) {
   println("Good times")
} else if(x == 1984) {
   println("The Orwellian Future begins")
} else {
   println("Poor guy...")
}

if अभिव्यक्ति होने का निहितार्थ यह है कि आप अभिव्यक्ति के निष्कासन के परिणाम को एक चर में निर्दिष्ट कर सकते हैं:

val result = if(x > 0) "Greater than 0" else "Less than or equals 0"
\\ result: String = Greater than 0

ऊपर हम देखते हैं कि if अभिव्यक्ति का मूल्यांकन किया जाता है और result उस परिणामी मान पर सेट होता है।

if अभिव्यक्ति का रिटर्न प्रकार सभी तर्क शाखाओं का सुपरस्क्रिप्ट है। इसका मतलब है कि इस उदाहरण के लिए रिटर्न प्रकार एक String । के बाद से नहीं सब if भाव एक मूल्य (जैसे कि एक के रूप में वापसी if बयान नहीं है कि else शाखा तर्क), यह संभव है कि वापसी प्रकार है Any :

val result = if(x > 0) "Greater than 0"
// result: Any = Greater than 0

यदि कोई मूल्य वापस नहीं किया जा सकता है (जैसे कि तार्किक शाखाओं के अंदर केवल println जैसे साइड इफेक्ट्स का उपयोग किया जाता है), तो रिटर्न टाइप Unit होगी:

val result = if(x > 0) println("Greater than 0")
// result: Unit = ()

if Scala में अभिव्यक्तियाँ जावा कार्य में टर्नेरी ऑपरेटर के समान हैं। इस समानता के कारण, स्काला में ऐसा कोई ऑपरेटर नहीं है: यह निरर्थक होगा।

घुंघराले ब्रेसिज़ एक में छोड़ा जा सकता है if अभिव्यक्ति करता है, तो सामग्री एक ही लाइन है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow