En programación imperativa, normalmente tenemos un código que tiene el siguiente aspecto:
func addOneToSlice(xs []int) []int { rs := make([]int, len(xs)) for i, value := range xs { rs[i] = value 1 } return rs }
Sin embargo, observe lo siguiente sobre el bucle for:
Compare cómo se haría la misma tarea en F#:
let rec addOneToList = function | [] -> [] | x :: xs -> x 1 :: addOneToList xs
Ahora considere lo siguiente:
Dadas estas restricciones, agregar 1 a cualquier elemento y que no esté al principio de la lista alteraría significativamente la estructura de nuestra función.
Ahora compara cómo avanza el cómputo en ambos estilos:
En estilo funcional, combinar ambos ámbitos con el progreso computacional tiene las siguientes consecuencias:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3