عمل accumulate را پیادهسازی کنید. این عمل، با گرفتن یک مجموعه و یک عملیات که باید روی هر عنصر آن مجموعه انجام شود، مجموعهی جدیدی برمیگرداند که شامل نتیجهی اعمال آن عملیات روی هر عنصر از مجموعهی ورودی است.
مجموعهی اعداد زیر را در نظر بگیرید:
و این عملیات:
x => x * x)کد شما باید بتواند مجموعهی مربعها را تولید کند:
نگاهی به مجموعهی تست بیندازید تا امضای تابع مورد انتظار را ببینید.
به آن قابلیت collect/map/fmap/هر چه نامش را میگذارید که کتابخانهی استانداردتان در اختیارتان میگذارد، دست نزنید! بهجایش، خودتان این را با ابزارهای پایهی دیگر حل کنید.