ट्रैक
/
Ruby
Ruby
/
अभ्यास
/
किंडरगार्टन बगीचा
किंडरगार्टन बगीचा

किंडरगार्टन बगीचा

मध्यम

परिचय

किंडरगार्टन की कक्षा पौधे उगाने के बारे में सीख रही है। शिक्षक को लगा कि बच्चों को बीज देना अच्छा रहेगा, ताकि वे उन्हें मिट्टी में लगाकर उगा सकें। इसके लिए बच्चों ने खिड़कियों के किनारों पर छोटे-छोटे कप रखे हैं और हर कप में एक तरह का पौधा लगाया है। बच्चों को चार तरह के उपलब्ध बीजों में से अपनी पसंद चुनने का मौका मिला: grass, clover, radishes और violets.

निर्देश

आपको दिए गए आरेख से यह पता लगाना है कि किंडरगार्टन क्लास का हर बच्चा किन पौधों के लिए ज़िम्मेदार है।

क्लास में 12 बच्चे हैं:

  • Alice, Bob, Charlie, David, Eve, Fred, Ginny, Harriet, Ileana, Joseph, Kincaid और Larry.

चार अलग-अलग तरह के बीज बोए जाते हैं:

पौधा आरेख में संकेत
Grass G
Clover C
Radish R
Violet V

हर बच्चे को चार कप मिलते हैं, हर पंक्ति में दो:

[window][window][window]
........................ # each dot represents a cup
........................

टीचर बच्चों को उनके नामों के अंग्रेज़ी वर्णक्रम के अनुसार कप बाँटती हैं, यानी सबसे पहले Alice की बारी आती है और सबसे अंत में Larry की।

यहाँ एक उदाहरण आरेख दिया गया है, जो Alice के पौधे दिखाता है:

[window][window][window]
VR......................
RG......................

पहली पंक्ति खिड़कियों के सबसे पास है। उसमें Alice के पास एक violet और एक radish है। दूसरी पंक्ति में Alice के पास एक radish और कुछ grass है।

आपके प्रोग्राम को पौधे बाएँ से दाएँ तक दिए जाएँगे, और शुरुआत खिड़कियों के सबसे पास वाली पंक्ति से होगी। इससे आपके प्रोग्राम को यह पता लगाना चाहिए कि कौन-से पौधे किस बच्चे के हैं।

उदाहरण के लिए, अगर प्रोग्राम को बताया जाए कि बगीचा ऐसा दिखता है:

[window][window][window]
VRCGVVRVCGGCCGVRGCVCGCGV
VRCCCGCRRGVCGCRVVCVGCGCV

तो अगर उससे Alice के पौधों के बारे में पूछा जाए, तो उसे यह बताना चाहिए:

  • Violets, radishes, violets, radishes

और अगर Bob के पौधों के बारे में पूछा जाए, तो नतीजा यह होगा:

  • Clover, grass, clover, clover

कार्यान्वयन

इस अभ्यास में आपको एक ऐसी क्लास लिखनी है जो किंडरगार्टन के हर बच्चे के लिए एक मेथड देती है। अगर आप 12 अलग-अलग मेथड खुद बनाने के बजाय थोड़ी मेटाप्रोग्रामिंग का इस्तेमाल करें, तो आपका काम कम दोहराव वाला (और ज़्यादा मज़ेदार!) बन सकता है। शुरू कहाँ से करें, यह समझ न आ रहा हो, तो method_missing और define_method मेथड देखिए।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Ruby Exercism

किंडरगार्टन बगीचा शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Ruby को 21 कॉन्सेप्ट121 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।