Track
/
F#
F#
/
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.

Suggerimenti

Per questo esercizio torna utile la seguente funzionalità di F#:

  • Ricorsione in coda Evita gli overflow dello stack con input grandi usando la ricorsione in coda. Anche se non ci sono casi di test che lo verificano esplicitamente, usare la ricorsione in coda porta a una soluzione più performante. Un'altra buona risorsa sulla ricorsione in coda è questo post del blog.
  • Inferenza dei tipi Il compilatore F# riesce a inferire i tipi automaticamente, il che significa che spesso non devi aggiungere alcun tipo. Per maggiori informazioni su come funziona e sui suoi vantaggi, vedi questa pagina.
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
F# Exercism

Vuoi iniziare Accumula?

Iscriviti a Exercism per imparare e padroneggiare F# con 18 concetti148 esercizi e il mentoring di persone reali, tutto gratis.