त्रिगुट (या सशर्त) ऑपरेटर एक अभिव्यक्ति का मूल्यांकन करेगा और यदि यह सही है, तो एक मान लौटाएगा और दूसरा मूल्य यदि यह गलत है। यह थोड़ा आशुलिपि की तरह है, अगर बयान में कॉम्पैक्ट।
रूबी के ternary ऑपरेटर के इसके उपयोग हैं लेकिन यह थोड़ा विवादास्पद भी है।
टेनेरी संचालक उदाहरण
आइए इस उदाहरण को देखें:
यहां, सशर्त ऑपरेटर का उपयोग दो तारों के बीच चयन करने के लिए किया जा रहा है। संपूर्ण ऑपरेटर अभिव्यक्ति सशर्त, प्रश्न चिह्न, दो तार और बृहदान्त्र सहित सब कुछ है। इस अभिव्यक्ति का सामान्य प्रारूप इस प्रकार है: सशर्त? सही गलत.
यदि सशर्त अभिव्यक्ति सही है, तो ऑपरेटर वास्तविक अभिव्यक्ति के रूप में मूल्यांकन करेगा। अन्यथा, यह झूठी अभिव्यक्ति के रूप में मूल्यांकन करेगा। इस उदाहरण में, यह कोष्ठक में है, इसलिए यह इसके आसपास के स्ट्रिंग संघटन ऑपरेटरों के साथ हस्तक्षेप नहीं करता है।
इसे दूसरे तरीके से रखने के लिए, सशर्त ऑपरेटर एक जैसा है अगर बयान। उसे याद रखो अगर बयान रूबी में ब्लॉक में अंतिम मूल्य का मूल्यांकन जो निष्पादित हो जाता है। तो, आप पिछले उदाहरण को फिर से लिख सकते हैं जैसे:
यह कोड कार्यात्मक रूप से समतुल्य है, और शायद समझने में थोड़ा आसान है। अगर
मैं 10 से अधिक है, अगर स्टेटमेंट स्वयं स्ट्रिंग से "अधिक से अधिक" का मूल्यांकन करेगा या "से कम" स्ट्रिंग का मूल्यांकन करेगा बराबर। "यह वही कार्य है जो टर्नेरी ऑपरेटर कर रहा है, केवल टर्नेरी ऑपरेटर अधिक है कॉम्पैक्ट।टर्नेरी ऑपरेटर के लिए उपयोग करता है
तो, टर्नरी ऑपरेटर के पास क्या उपयोग है? इसके उपयोग हैं, लेकिन कई नहीं हैं, और आप इसके बिना ठीक हो सकते हैं।
इसका उपयोग आमतौर पर उन मूल्यों में जूता करने के लिए किया जाता है, जहां सशर्त बहुत भारी होंगे। इसका उपयोग चर असाइनमेंट में दो मूल्यों के बीच जल्दी से चयन करने के लिए भी किया जाता है।
यहाँ दो विशिष्ट उपयोग के मामले हैं जो आप टर्नरी ऑपरेटर के लिए देखेंगे:
आपने देखा होगा कि यह काफी अन-रूबी लगता है। रूबी में जटिल अभिव्यक्तियाँ केवल एक पंक्ति में नहीं होती हैं - यह आमतौर पर अलग हो जाती है और पढ़ने में आसान होती है। हालांकि, आप इस ऑपरेटर को देखेंगे, और इसे हाथ से बाहर निकलने के बिना प्रभावी ढंग से उपयोग किया जा सकता है।
पालन करने के लिए एक नियम यह है कि यदि आप एक साधारण शर्त के साथ दो मानों के बीच चयन करने के लिए इस ऑपरेटर का उपयोग कर रहे हैं, तो इसका उपयोग करना ठीक है। यदि आप कुछ अधिक जटिल कर रहे हैं, तो आपको संभवतः एक का उपयोग करना चाहिए अगर इसके बजाय बयान।