ट्रैक
/
Ruby
Ruby
/
अभ्यास
/
एकत्र कीजिए
एकत्र कीजिए

एकत्र कीजिए

आसान

निर्देश

accumulate ऑपरेशन लागू कीजिए। यह ऑपरेशन एक कलेक्शन और एक और ऑपरेशन लेता है, जिसे कलेक्शन के हर एलिमेंट पर करना होता है। फिर यह इनपुट कलेक्शन के हर एलिमेंट पर वह ऑपरेशन लागू करके जो नतीजे मिलते हैं, उन्हें लेकर एक नया कलेक्शन लौटाता है।

मान लीजिए संख्याओं का यह कलेक्शन दिया गया है:

  • 1, 2, 3, 4, 5

और ऑपरेशन यह है:

  • किसी संख्या का वर्ग करना (x => x * x)

आपके कोड से वर्गों का यह कलेक्शन बनना चाहिए:

  • 1, 4, 9, 16, 25

अपेक्षित फंक्शन सिग्नेचर देखने के लिए टेस्ट सूट देखिए।

प्रतिबंध

अपनी स्टैंडर्ड लाइब्रेरी में मिलने वाली उस collect/map/fmap या जो भी उसका नाम हो, ऐसी सुविधा को हाथ मत लगाइए! इसके बजाय दूसरे बुनियादी टूल इस्तेमाल करके इसे खुद हल कीजिए।

उन्नत

जब किसी सामान्य Enumerable के लिए मेथड बनाते हैं, तो आम तौर पर #to_enum को कॉल किया जाता है, ताकि कोई ब्लॉक न दिए जाने पर भी काम चल जाए।

यहाँ एक अतिरिक्त टेस्ट दिया गया है, जिसे आप जोड़ सकते हैं:

def test_accumulate_when_block_is_deferred
  skip
  accumulate_enumerator = [1, 2, 3].accumulate
  accumulated_result = accumulate_enumerator.map do |number|
    number * number
  end
  assert_equal [1, 4, 9], accumulated_result
end
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Ruby Exercism

एकत्र कीजिए शुरू करने के लिए तैयार हैं?

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