Υλοποίησε την πράξη accumulate, η οποία, δεδομένης μιας συλλογής και μιας πράξης που εκτελείται σε κάθε στοιχείο της συλλογής, επιστρέφει μια νέα συλλογή που περιέχει το αποτέλεσμα της εφαρμογής αυτής της πράξης σε κάθε στοιχείο της συλλογής εισόδου.
Δίνεται η συλλογή αριθμών:
Και η πράξη:
x => x * x)Ο κώδικάς σου θα πρέπει να μπορεί να παράγει τη συλλογή των τετραγώνων:
Ρίξε μια ματιά στη σουίτα δοκιμών για να δεις την αναμενόμενη υπογραφή της συνάρτησης.
Κάτω τα χέρια από αυτή τη λειτουργικότητα collect/map/fmap/ό,τι να 'ναι που παρέχει η τυπική βιβλιοθήκη σου! Λύσε το μόνος σου χρησιμοποιώντας άλλα βασικά εργαλεία.
Πιο συγκεκριμένα, δεν σου επιτρέπεται να χρησιμοποιήσεις καμία από τις ενσωματωμένες μεθόδους LINQ.
Επειδή η accumulate επιστρέφει IEnumerable, η εκτέλεσή της αναβάλλεται μέχρι να κληθεί η ToList() σε αυτήν, κάτι που δοκιμάζεται με τη μέθοδο Accumulate_is_lazy.
Αυτή η άσκηση απαιτεί να γράψεις μια μέθοδο επέκτασης. Για περισσότερες πληροφορίες, δες αυτή τη σελίδα.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις C# με 62 έννοιες178 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.