Track
/
Ruby
Ruby
/
Esercizi
/
Accumula
Accumula

Accumula

Facile

Istruzioni

Implementa l'operazione accumulate: data una collezione e un'operazione da eseguire su ogni elemento della collezione, restituisce una nuova collezione che contiene il risultato dell'applicazione di quell'operazione a ogni elemento della collezione di input.

Data la collezione di numeri:

  • 1, 2, 3, 4, 5

E l'operazione:

  • elevare un numero al quadrato (x => x * x)

Il codice dovrebbe essere in grado di produrre la collezione dei quadrati:

  • 1, 4, 9, 16, 25

Dai un'occhiata alla suite di test per vedere la firma della funzione attesa.

Restrizioni

Lascia stare quella funzionalità collect/map/fmap/come-si-chiama fornita dalla tua libreria standard! Risolvi questo esercizio da solo, usando altri strumenti di base.

Approfondimento

Quando definisci i metodi per un Enumerable generico, è tipico chiamare #to_enum, nel caso in cui non venga passato alcun blocco.

Ecco un test aggiuntivo che potresti aggiungere:

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
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Ruby Exercism

Vuoi iniziare Accumula?

Iscriviti a Exercism per imparare e padroneggiare Ruby con 21 concetti121 esercizi e il mentoring di persone reali, tutto gratis.