F #: No entiendo el partido ... con
Estoy jugando con F # y Fable, e intento poner a prueba mi comprensión. Para hacerlo, intenté crear una función para calcular e dado un cierto número de iteraciones. Lo que se me ocurrió es
let eCalc n =
let rec internalECalc ifact sum count =
match count = n with
| true -> sum
| _ -> internalECalc (ifact / (float count)) (sum + ifact) (count+1)
internalECalc 1.0 0.0 1
Que funciona bien, devolviendo 2.7182818284590455 cuando se llama con
eCalc 20
Sin embargo, si intento usar, lo que creo que es, la forma más correcta
let eCalc n =
let rec internalECalc ifact sum count =
match count with
| n -> sum
| _ -> internalECalc (ifact / (float count)) (sum + ifact) (count+1)
internalECalc 1.0 0.0 1
Recibo una advertencia "[ADVERTENCIA] Esta regla nunca será igualada (L5,10-L5,11)", y devuelve un valor de 0. (y ocurre lo mismo si cambio 'n' y 'count' en el partido declaración). ¿Hay alguna razón por la que no puedo usar 'n' en la declaración de coincidencia? ¿Hay alguna forma de evitar esto para poder usar 'n'?
Gracias