Haskell – 23 – ricorsione – 9

Continuo da qui, copio qui, scrollare fino a “Exercises”.

Sempre esercizi

6. Write a recursive function removeOdd that, given a list of integers, removes all odd numbers from the list, e.g.,

removeOdd [1, 4, 5, 7, 10] = [4, 10]

removeOdd.hs

removeOdd :: [Int] -> [Int]
removeOdd [] = []
removeOdd (x:xs)
  | odd x     = removeOdd xs
  | otherwise = x : removeOdd xs
Prelude> :l removeOdd
[1 of 1] Compiling Main             ( removeOdd.hs, interpreted )
Ok, 1 module loaded.
*Main> removeOdd [1, 4, 5, 7, 10]
[4,10]
*Main> removeOdd [2, 3, 5, 7, 11, 13, 17]
[2]

7. Challenge: At the end of the last screencast [qui], demonstrating the implementation of closestPoint :: Point -> [Point] -> Point, we mentioned that the final implementation is less efficient than one might hope, as it uses the distance functions twice —instead of once— per recursive step. Improve the implementation to avoid that inefficiency.

Non ci sono riuscito: mi capita nuovamente di girare a vuoto. Ci devo pensare su, vedere se posso continuare con Haskell con un altro tutorial, a me più affine (sono condizionato alla programmazione “vecchia” mi mancano le variabili).
Qualche ora dopo: ho fatto cose (cit.) più normali. Ed è disastroso mischiare Python con l’FP, almeno per me rischia di traviarmi ancora di più. Ma –promesso– devo risolvere il problema n.7 👿

🤢

Posta un commento o usa questo indirizzo per il trackback.

Trackback

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: