Programación funcional y reactiva - Computación
Func. matemáticas hacia la programación funcional
Funciones matemáticas
Algo para recordar
Funciones matemáticas
Algo para recordar
Funciones matemáticas a código. Expresiones
Funciones matemáticas a código.
Funciones matemáticas a código.
Definir función que tome un entero n y calcule el factorial de n
Funciones matemáticas a código.
Definir función que tome un entero n y calcule el factorial de n
Funciones puras
Funciones puras
Antitesis
public class Counter { private int counter = 0; public int incrementCounter() { return ++counter; } public int multiplyCounter(int num) { counter *= num; return counter; } public int getCounter() { return counter; } }
Funciones puras
Antitesis
Funciones puras
Principales características
Funciones puras
Implementación en Scala
object Counter { // Función pura que incrementa un contador def incrementCounter(counter: Int): Int = { counter + 1 } // Función pura que multiplica el contador def multiplyCounter(counter: Int, num: Int): Int = { counter * num } // Función pura que devuelve el valor del contador (en este caso innecesario porque el valor del contador // no necesita una función, simplemente se usa directamente) def getCounter(counter: Int): Int = { counter } } // Uso de las funciones val currentCounter = 5 val incremented = Counter.incrementCounter(currentCounter) val multiplied = Counter.multiplyCounter(currentCounter, 2) println(s"Incremented: $incremented") // Imprimirá 6 println(s"Multiplied: $multiplied") // Imprimirá 10
Funciones vs Métodos
Trabajo en grupo
Funciones matemáticas vs Métodos (Leng. Prog.)
Diferencias conceptuales
Trabajo de consulta
Trabajo de consulta
¿Qué son las funciones anónimas?