Διαδρομές
/
F#
F#
/
Ασκήσεις
/
Συσσώρευση
Συσσώρευση

Συσσώρευση

Εύκολο

Οδηγίες

Υλοποίησε την πράξη accumulate, η οποία, δεδομένης μιας συλλογής και μιας πράξης που εκτελείται σε κάθε στοιχείο της συλλογής, επιστρέφει μια νέα συλλογή που περιέχει το αποτέλεσμα της εφαρμογής αυτής της πράξης σε κάθε στοιχείο της συλλογής εισόδου.

Δίνεται η συλλογή αριθμών:

  • 1, 2, 3, 4, 5

Και η πράξη:

  • ύψωση ενός αριθμού στο τετράγωνο (x => x * x)

Ο κώδικάς σου θα πρέπει να μπορεί να παράγει τη συλλογή των τετραγώνων:

  • 1, 4, 9, 16, 25

Ρίξε μια ματιά στη σουίτα δοκιμών για να δεις την αναμενόμενη υπογραφή της συνάρτησης.

Περιορισμοί

Κάτω τα χέρια από αυτή τη λειτουργικότητα collect/map/fmap/ό,τι να 'ναι που παρέχει η τυπική βιβλιοθήκη σου! Λύσε το μόνος σου χρησιμοποιώντας άλλα βασικά εργαλεία.

Υποδείξεις

Για αυτή την άσκηση, το ακόλουθο χαρακτηριστικό που προσφέρει η F# θα σου φανεί χρήσιμο:

  • Αναδρομή ουράς Απόφυγε τις υπερχειλίσεις στοίβας με μεγάλη είσοδο χρησιμοποιώντας αναδρομή ουράς. Ενώ δεν υπάρχουν περιπτώσεις δοκιμών που να το ελέγχουν ρητά, η χρήση αναδρομής ουράς οδηγεί σε πιο αποδοτική λύση. Μια άλλη καλή πηγή για την αναδρομή ουράς είναι αυτή η ανάρτηση ιστολογίου.
  • Εξαγωγή τύπων Ο μεταγλωττιστής της F# μπορεί να εξάγει αυτόματα τύπους, που σημαίνει ότι συχνά δεν χρειάζεται να προσθέσεις καθόλου τύπους. Για περισσότερες πληροφορίες σχετικά με το πώς λειτουργεί αυτό και τα πλεονεκτήματά του, δες αυτή τη σελίδα.
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
F# Exercism

Έτοιμος να ξεκινήσεις την άσκηση Συσσώρευση;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις F# με 18 έννοιες148 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.