Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

रूबी टर्नरी ऑपरेटर का उपयोग कैसे करें (?:)

रूबी में टर्नरी ऑपरेटर क्या है?

एक टर्नरी ऑपरेटर तीन भागों से बना होता है, यहीं से "टर्नरी" शब्द आता है। इन भागों में एक सशर्त विवरण शामिल है &दो संभावित परिणाम

दूसरे शब्दों में, एक टर्नरी आपको कोड की केवल एक पंक्ति में एक कॉम्पैक्ट if/else एक्सप्रेशन लिखने का एक तरीका देता है।

उदाहरण के लिए :

if apple_stock > 1
  :eat_apple
else
  :buy_apple
end

यह बन सकता है :

apple_stock > 1 ? :eat_apple : :buy_apple

टर्नरी ऑपरेटर को धन्यवाद!

प्रश्न…

यह कैसे काम करता है, वास्तव में और उचित सिंटैक्स क्या है?

आइए जानें।

अपनी खुद की टर्नरी लिखने के लिए एक टेम्प्लेट

यदि हम एक टर्नरी ऑपरेटर के लिए सिंटैक्स को सामान्यीकृत करते हैं, तो आपको "रिक्त स्थान भरें" प्रकार का टेम्प्लेट मिलता है।

ऐसा दिखता है :

condition ? true : false

टर्नरी ऑपरेटर का पहला भाग शर्त . है , जैसा कि आप जांचना चाहते हैं कि यह सच है या नहीं।

उसके बाद, हमारे पास एक प्रश्न चिह्न है (? )।

यह वाक्य रचना का हिस्सा है!

इस तरह रूबी को पता चलता है कि आप एक टर्नरी ऑपरेटर लिख रहे हैं।

अगला :

यदि शर्त true हो जाती है, तो हमारे पास वह कोड है जिसे आप चलाना चाहते हैं , पहला संभावित परिणाम

फिर एक कोलन (: ), एक और वाक्यविन्यास तत्व

अंत में, हमारे पास वह कोड है जिसे आप चलाना चाहते हैं यदि शर्त false है , दूसरा संभावित परिणाम

उदाहरण :

"chocolate".size > 4 ? "More than four characters" : "Less than four characters"
  • स्थिति => "chocolate".size > 4
  • अगर सही है => "More than four characters"
  • अन्य => "Less than four characters"

ये तीन भाग प्रत्येक त्रिगुट व्यंजक के घटक हैं।

अपना ? स्थिति और संभावित परिणामों के बीच, भले ही विधि का नाम एक प्रश्न चिह्न में समाप्त हो।

उदाहरण :

"".empty? ? "Yes" : "No"

इसे नज़रअंदाज करना आसान है, इसलिए इस तरह का कोड लिखते समय ध्यान दें।

जटिल टर्नरी ऑपरेटर्स

टर्नरी ऑपरेटर गलत तरीके से इस्तेमाल किया जा सकता है।

जब भी आप इसके साथ कुछ जटिल करना चाहते हैं तो यह एक बुरा विचार बनने लगता है।

उदाहरण के लिए :

आप एक चर के लिए एक त्रिगुट अभिव्यक्ति का परिणाम निर्दिष्ट कर सकते हैं।

a = 10 > 5 ? "yes" : "no"

यह ठीक है।

लेकिन यह तब और अधिक जटिल होने लगता है जब आपके संभावित परिणामों में रिक्त स्थान हो।

यहां एक उदाहरण दिया गया है :

10 > 5 ? (puts "yes") : (puts "no")

हमें यहां कोष्ठक का उपयोग करना है।

क्यों?

क्योंकि यदि आप ऐसा नहीं करते हैं, तो आपको एक SyntaxError मिलता है ।

ये कोष्ठक इस कोड को समझने के लिए थोड़ा कठिन बनाते हैं , जो पठनीयता . से दूर ले जाता है और एक टर्नरी का उपयोग करने के स्टाइल लाभ।

टर्नरी का उपयोग करना या न करना चुनते समय इसे ध्यान में रखें।

टर्नरी ऑपरेटर और ऑपरेटर प्राथमिकता

एक और मुद्दा जो टर्नरी एक्सप्रेशन के साथ आता है, वह है ऑपरेटर की प्राथमिकता।

यहां एक उदाहरण दिया गया है :

[].tap { |a| a << "ccccc".size == 0 ? "empty" : "not empty" }

# [5]

मैं या तो "empty" . की अपेक्षा करूंगा या "not empty" , हमारे टर्नरी के लिए दो संभावित परिणाम, लेकिन हमें 5 . मिला इसके बजाय।

क्या हो रहा है?

यह पता चला है कि रूबी और अधिकांश प्रोग्रामिंग भाषाएं प्राथमिकता के विभिन्न स्तरों के साथ अभिव्यक्तियों को संसाधित करती हैं।

साधारण अंकगणित में भी ऐसा होता है!

जैसा कि आप जानते हैं, गुणन का मूल्यांकन जोड़ और घटाव से पहले किया जाता है।

इसी तरह, रूबी में, एक विधि कॉल (<< &size ) टर्नरी ऑपरेटर पर वरीयता लेता है, जो पिछले उदाहरण में व्यवहार की व्याख्या करता है।

आप इसे कोष्ठक से हल कर सकते हैं :

[].tap { |a| a << ("bbbbb".size == 0 ? "empty"  : "not empty") }

# ["not empty"]

अपने टर्नरी ऑपरेटरों को लिखते समय ध्यान रखने योग्य एक और बात!

वीडियो ट्यूटोरियल

सारांश

आपने रूबी में टर्नरी कंडीशनल ऑपरेटर के बारे में सीखा है, यह ऑपरेटर आपको कॉम्पैक्ट कंडीशनल स्टेटमेंट लिखने की अनुमति देता है जो स्थिति के आधार पर आपके कोड को पढ़ने में आसान या कठिन बना सकता है।

अब आपकी बारी है! आपने जो सीखा है उसका अभ्यास करें ताकि आप इस ज्ञान को अपने मस्तिष्क में स्थापित कर सकें।

पढ़ने के लिए धन्यवाद


  1. रूबी उपनाम कीवर्ड का उपयोग कैसे करें

    आप रूबी पद्धति को दो तरह से वैकल्पिक नाम दे सकते हैं: उपनाम (कीवर्ड) उपनाम_विधि क्योंकि वे एक ही काम को थोड़े अलग तरीके से करते हैं, यह एक भ्रमित करने वाला विषय हो सकता है। यह छवि मतभेदों का सारांश है : आइए एक ठोस समझ पाने के लिए इन अंतरों को और अधिक विस्तार से देखें! उपनाम कीवर्ड सबसे पहले

  1. रूबी ग्रेप विधि का उपयोग कैसे करें (उदाहरण के साथ)

    आइए बात करते हैं grep . के बारे में विधि। यह विधि आपके लिए क्या कर सकती है? आप ग्रेप का उपयोग एरेज़ और रेंज जैसी असंख्य वस्तुओं को फ़िल्टर करने के लिए कर सकते हैं। “लेकिन चुनें पहले से ही ऐसा करता है!” हां, लेकिन grep एक अलग तरीके से काम करता है और यह अलग परिणाम देता है। आइए कुछ उदाहरण देखें।

  1. रूबी में स्ट्रक्चर और ओपनस्ट्रक्चर का उपयोग कैसे करें?

    रूबी में स्ट्रक्चर क्या है? एक संरचना एक अंतर्निहित रूबी वर्ग है, इसका उपयोग नए वर्ग बनाने के लिए किया जाता है जो मूल्य वस्तुओं का उत्पादन करते हैं। संबंधित विशेषताओं को एक साथ संग्रहीत करने के लिए एक मूल्य वस्तु का उपयोग किया जाता है। यहां एक उदाहरण दिया गया है : एक Point दो निर्देशांकों के साथ