alexmclm / pdep2020TP

0 stars 0 forks source link

alquileresAcobrar se puede mejorar #12

Closed natoszme closed 4 years ago

natoszme commented 4 years ago

https://github.com/alexmclm/pdep2020TP/blob/09a30dd31aee16b6be01f1678834a51daa85b34c/tp1.hs#L72

Teniendo en cuenta que está repetida la lógica filtrar las propiedades baratas/caras (length.filter esPropiedadBarata) unaPropiedad y después multiplicar por un número.

Qué opinás de hacer algo así?

precioAlquiler :: Propiedad -> Int
precioAlquiler propiedad =
    | esPropiedadBarata propiedad = 10
    | otherwise = 20

alquileresAcobrar :: Persona -> Int
alquileresAcobrar unaPersona = (sum . map precioAlquiler . propiedades) unaPersona

Lo ves mejor? Peor? Más difícil? Contame

alexmclm commented 4 years ago

la veo un poco confusa ...bah no confusa , debido a que deberia devolver un (10) o (20), tal vez fue un error jajaja, pero si, lo llegue a entender esa parte creo que lo capte

natoszme commented 4 years ago

En esta solución no hay que ir multiplicando 10 o 20 por cada propiedad, sino que calculamos el valor asociado a cada propiedad (10 o 20) y al final los sumamos.

Te sugiero intentar implementarla!