Ruby Academy · पाठ

Find Patterns और Guards

Matches में conditions

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

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

गार्ड शर्तें

किसी पैटर्न में if या unless गार्ड जोड़ें। शाखा तभी मेल खाती है जब पैटर्न और शर्त दोनों सफल हों।

case 7
in Integer => n if n.odd?
  puts 'odd integer'
end

गार्ड बँधे हुए चरों का उपयोग करते हैं

गार्ड पैटर्न द्वारा बाँधे गए चरों का संदर्भ ले सकता है, इसलिए आप मिले हुए डेटा के बारे में विस्तृत शर्तें व्यक्त कर सकते हैं।

case [4, 9]
in [a, b] if a < b
  puts 'ascending pair'
end

unless गार्ड

unless गार्ड तब मेल खाता है जब शर्त गलत हो; यह if का उलटा है।

case 0
in Integer => n unless n.positive?
  puts 'zero or negative'
end

एकाधिक गार्ड वाली शाखाएँ

स्पष्ट निर्णय-क्रम बनाने के लिए अलग-अलग शाखाओं में गार्ड जोड़ें।

def grade(score)
  case score
  in Integer => s if s >= 90 then 'A'
  in Integer => s if s >= 70 then 'B'
  else 'C'
  end
end
puts(grade(85))

खोज पैटर्न

खोज पैटर्न [*, x, *] किसी ऐरे में उप-पैटर्न को उसके अंदर कहीं भी खोजता है और दोनों सिरों पर स्प्लैट का उपयोग करता है।

case [1, 2, 3, 4]
in [*, 3, *]
  puts 'contains a 3'
end

खोज के भीतर बाँधना

खोज पैटर्न में मिले हुए तत्व को बाँधा जा सकता है, जिससे खोजा गया मान कैप्चर हो जाता है।

case [10, 20, 30]
in [*, x, *] if x > 25
  puts("found #{x}")
end

आसपास के तत्वों को कैप्चर करना

खोज पैटर्न में दोनों स्प्लैट को नाम दिया जा सकता है, ताकि मिलान से पहले और बाद के तत्व कैप्चर किए जा सकें।

case [1, 2, 99, 4, 5]
in [*before, 99, *after]
  p before
  p after
end

किसी प्रकार वाले तत्व को खोजना

किसी दिए गए प्रकार का पहला तत्व खोजने के लिए खोज पैटर्न को प्रकार के पैटर्न के साथ जोड़ा जा सकता है।

case [1, 'hi', 2]
in [*, String => word, *]
  puts(word)
end

गार्ड बनाम पैटर्न

जो कुछ संरचनात्मक रूप से व्यक्त किया जा सकता है, उसे पैटर्न में व्यक्त करें। गार्ड का उपयोग केवल उन शर्तों के लिए करें जिन्हें पैटर्न व्यक्त नहीं कर सकते, जैसे संख्यात्मक तुलनाएँ या विधि-कॉल।

case { role: 'admin', age: 40 }
in { role: 'admin', age: } if age >= 18
  puts 'adult admin'
end

खोज और गार्ड का संयोजन

खोज पैटर्न और गार्ड को साथ में उपयोग करके पूछा जा सकता है: क्या कोई तत्व इस शर्त को पूरा करता है?

numbers = [3, 5, 8, 11]
case numbers
in [*, n, *] if n.even?
  puts("first even-ish hit: #{n}")
end

शाखाओं का क्रम

शाखाओं को ऊपर से नीचे तक आज़माया जाता है; पहला मिलान सफल होता है। अधिक विशिष्ट गार्ड वाले पैटर्न को सामान्य पैटर्न से पहले रखें।

case 100
in Integer => n if n > 50 then puts 'big'
in Integer then puts 'small'
end

त्वरित जाँच

खोज पैटर्न [*, x, *] क्या करता है?

पुनरावलोकन: खोज पैटर्न और गार्ड

आपने मिलान में शर्तें और खोज जोड़ना सीखा:

  • गार्ड if / unless किसी पैटर्न को और सटीक बनाते हैं
  • गार्ड बँधे हुए चरों का उपयोग कर सकते हैं
  • खोज पैटर्न [*, x, *] कहीं भी खोज करते हैं
  • आसपास के तत्वों को कैप्चर करने के लिए दोनों स्प्लैट को नाम दिया जा सकता है
  • पहली मिलान करने वाली शाखा सफल होती है, इसलिए क्रम महत्वपूर्ण है
case [1, 7, 3]
in [*, x, *] if x > 5 then puts x
end
शुरुआत निःशुल्क

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

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

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

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

क्या “Find Patterns और Guards” पाठ निःशुल्क है?

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

“Find Patterns और Guards” में मैं क्या सीखूँगा?

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

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

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

“Find Patterns और Guards” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. case/in की मूल बातें
  2. Array और Hash Patterns
  3. Find Patterns और Guards
  4. व्यावहारिक उपयोग के मामले
← Ruby Academy पर वापस जाएँ