Ruby Academy · पाठ

case/when Expressions

कई विकल्पों वाली branching

पाठ 2, कुल 4 में से13 चरण

case/when Expressions, CoddyKit पर Ruby Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Ruby Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Ruby Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

बहु-विकल्पीय शाखाएँ

जब आप एक मान की तुलना कई संभावनाओं से करते हैं, तो लंबी if/elsif शृंखला शोर-भरी लगने लगती है। रूबी की case अभिव्यक्ति बहु-विकल्पीय शाखाओं को साफ़ और पठनीय बनाती है।

day = "Mon"
case day
when "Sat", "Sun"
  puts "Weekend"
else
  puts "Weekday"
end

मूल case / when

case के बाद का मान क्रम से प्रत्येक when से मिलाया जाता है। पहली मिलान वाली शाखा चलती है, फिर नियंत्रण end पर चला जाता है।

grade = "B"
case grade
when "A"
  puts "Excellent"
when "B"
  puts "Good"
when "C"
  puts "Okay"
end

एक when में कई मान

एक ही when में कई मानों को अल्पविराम से अलग करके लिखें। उनमें से कोई भी मिल जाए, तो वह शाखा चलती है।

char = "e"
case char
when "a", "e", "i", "o", "u"
  puts "Vowel"
else
  puts "Consonant"
end

else शाखा

हर स्थिति को पकड़ने के लिए else जोड़ें। इसके बिना, बिना मिलान वाला case सीधे nil लौटाता है।

code = 500
case code
when 200
  puts "OK"
when 404
  puts "Not Found"
else
  puts "Other status"
end

case एक अभिव्यक्ति है

if की तरह, case मिलान वाली शाखा का मान लौटाता है, इसलिए आप उसे सीधे किसी चर में रख सकते हैं।

score = 82
letter = case
when score >= 90 then "A"
when score >= 80 then "B"
else "C"
end
puts letter

then मुख्यशब्द

छोटी शाखाओं के लिए when के मुख्य भाग को उसी पंक्ति में रखने हेतु then का उपयोग करें।

n = 3
case n
when 1 then puts "one"
when 2 then puts "two"
when 3 then puts "three"
end

श्रेणियों से मिलान

किसी when में श्रेणी रखी जा सकती है। रूबी पर्दे के पीछे === ऑपरेटर का उपयोग करती है और श्रेणी का === सदस्यता की जाँच करता है।

score = 73
case score
when 90..100 then puts "A"
when 70..89 then puts "B"
when 0..69 then puts "C"
end

वर्ग के आधार पर मिलान

क्योंकि Class === object तब सत्य होता है जब ऑब्जेक्ट किसी वर्ग का इंस्टेंस हो, इसलिए आप प्रकार के आधार पर शाखा बना सकते हैं।

value = 3.14
case value
when Integer then puts "an integer"
when Float then puts "a float"
when String then puts "a string"
end

=== का जादू

हर when में pattern === value को कॉल किया जाता है। श्रेणियाँ, वर्ग और रेगेक्सप सभी उपयोगी === व्यवहार परिभाषित करते हैं, इसी कारण case इतना लचीला है।

email = "jane@example.com"
case email
when /@/ then puts "Looks like an email"
else puts "No @ sign"
end

बिना विषय वाला case

सुव्यवस्थित if/elsif जैसी बूलियन शर्तों की साफ़ शृंखला लिखने के लिए case के बाद का मान छोड़ दें।

temp = 5
case
when temp < 0 then puts "Freezing"
when temp < 15 then puts "Cold"
when temp < 25 then puts "Mild"
else puts "Warm"
end

सबको एक साथ रखना

जब निर्णय एक ही मान पर निर्भर हो, तब case आदर्श है। जब हर शाखा अलग बूलियन जाँच हो, तब विषय-रहित रूप का उपयोग करें।

role = :admin
msg = case role
when :admin then "Full access"
when :editor then "Can edit"
when :viewer then "Read only"
else "No access"
end
puts msg

त्वरित जाँच

case/when की अपनी समझ जाँचें।

पुनरावलोकन

आपने case अभिव्यक्ति सीखी:

  • when पहले मिलान पर रुकता है, फिर end पर चला जाता है।
  • एक when में कई मान लिखे जा सकते हैं।
  • case कोई मान लौटाता है और then का समर्थन करता है।
  • श्रेणियाँ, वर्ग और रेगेक्सप काम करते हैं क्योंकि when === का उपयोग करता है।
  • विषय-रहित रूप साफ़ बूलियन शृंखला देता है।
n = 42
kind = case
when n.zero? then "zero"
when n.positive? then "positive"
else "negative"
end
puts kind
शुरुआत निःशुल्क

एआई शिक्षक के साथ Ruby सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
29
पाठ
109

अक्सर पूछे जाने वाले प्रश्न

क्या “case/when Expressions” पाठ निःशुल्क है?

हाँ — Ruby Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “case/when Expressions” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Ruby Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“case/when Expressions” में मैं क्या सीखूँगा?

कई विकल्पों वाली branching आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Ruby Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Ruby Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Ruby Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“case/when Expressions” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Ruby Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Ruby Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. if, unless, ternary
  2. case/when Expressions
  3. Ruby में Truthiness
  4. Guard Clauses
← Ruby Academy पर वापस जाएँ