Open natoszme opened 6 years ago
claro, un "modificar" deuda, pero el tema, los Float toman valores negativos? o tendria que hacer una fn que espera un valor y un operador ( + o -) ?
pensé en ésto, pero no estaría matchiando los tipos... lo que hice en la firma es poner el tipo del valor y el de la suma modificarDeuda:: Float->(Float->Float->Float)->Receta modificarDeuda valor operador pais = pais{deuda = (deuda pais) operador valor } peeeero: FMI.hs:12:51: error: • Couldn't match expected type ‘(Float -> Float -> Float) -> Float -> Float’ with actual type ‘Float’ • The function ‘deuda’ is applied to three arguments, but its type ‘Pais -> Float’ has only one In the ‘deuda’ field of a record In the expression: pais {deuda = (deuda pais) operador valor} | 12 | modificarDeuda valor operador pais = pais{deuda = (deuda pais) operador valor } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Antes de ver el error, hay algo que no me cierra:
lo que hice en la firma es poner el tipo del valor y el de la suma
por qué en la firma el tipo de la suma? Si siempre es una suma, no tendría mucho sentido parametrizarlo no?
p.d: si los floats pueden tomar negativos
perdon, ecribí mal, el tipo de la suma, que es el mismo tipo que la resta... Porque pensaba parametrizar ésa operacion.. pero ya que me decis que los floats admiten negativos, puedo costearlo por ese lado... ahora lo modifico!
https://github.com/nahuelDolian/FMI/blob/cd4a28b04b55bdc5d89223e8063c7f456db72017/FMI.hs#L31
Hay algo parecido entre esta y darPrestamo?