ট্র্যাক
/
Ruby
Ruby
/
অনুশীলনী
/
অ্যাকুমুলেট
অ্যাকুমুলেট

অ্যাকুমুলেট

সহজ

নির্দেশনা

accumulate অপারেশনটি ইমপ্লিমেন্ট করুন। এটি একটি কালেকশন এবং কালেকশনের প্রতিটি এলিমেন্টে করার জন্য একটি অপারেশন নেয়, আর ইনপুট কালেকশনের প্রতিটি এলিমেন্টে ওই অপারেশন প্রয়োগের ফলাফল নিয়ে একটি নতুন কালেকশন রিটার্ন করে।

ধরা যাক, সংখ্যাগুলোর কালেকশনটি হলো:

  • 1, 2, 3, 4, 5

আর অপারেশনটি হলো:

  • একটি সংখ্যার বর্গ করা (x => x * x)

আপনার কোড বর্গগুলোর কালেকশন তৈরি করতে সক্ষম হওয়া উচিত:

  • 1, 4, 9, 16, 25

প্রত্যাশিত ফাংশন সিগনেচার দেখতে টেস্ট স্যুটটি দেখুন।

বিধিনিষেধ

আপনার স্ট্যান্ডার্ড লাইব্রেরির দেওয়া collect/map/fmap/whatchamacallit ফাংশনালিটির ওপর হাত দূরে রাখুন! এর বদলে অন্য সাধারণ টুল ব্যবহার করে এটি নিজেই সমাধান করুন।

উন্নত

জেনেরিক 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টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।