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