Συσσώρευση

Συσσώρευση

Εύκολο

Οδηγίες

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

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

  • 1, 2, 3, 4, 5

Και η πράξη:

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

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

  • 1, 4, 9, 16, 25

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

Περιορισμοί

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

Για προχωρημένους

Συνηθίζεται να καλείς το #to_enum όταν ορίζεις μεθόδους για ένα γενικό Enumerable, σε περίπτωση που δεν περαστεί κάποιο μπλοκ.

Ακολουθεί ένα επιπλέον test που θα μπορούσες να προσθέσεις:

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 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.