Skip to content

Instantly share code, notes, and snippets.

@patriciovergaratobar
Last active July 30, 2018 17:43
Show Gist options
  • Save patriciovergaratobar/bfcc3428eeaab204791fa9a9102125a6 to your computer and use it in GitHub Desktop.
Save patriciovergaratobar/bfcc3428eeaab204791fa9a9102125a6 to your computer and use it in GitHub Desktop.
Pruebas de funciones en scala
object MainApp {
def main(args: Array[String]): Unit = {
println("Inicio")
println("Probando funciones curryficadas")
println(operacion(suma)(2,4))
println(operacion(resta)(2,4))
println(operacion(multiplicar)(2,4))
val dividiendo = operacion(dividir)
println(dividiendo(4,2))
println(dividiendo(0,4))
println(Math.pow(operacion(suma)(2,2), 5))
println("Probando Funcion de orden superior")
println(opFunOrdenSuperior(suma, 3, 5))
println("Jugando!!")
println(opFunOrdenSuperior(multiplicar, operacion((a: Int, b: Int) => a + b * 3)(10,90), dividiendo(operacion(resta)(80,11),operacion(multiplicar)(2,11))))
}
def operacion(op: (Int, Int) => Int) = (a: Int, b: Int) => op(a, b)
val suma = (a: Int, b: Int) => a + b
val resta = (a: Int, b: Int) => a - b
val multiplicar = (a: Int, b: Int) => a * b
val dividir = (a: Int, b: Int) => a / b
val opFunOrdenSuperior = (op: (Int, Int) => Int, a: Int, b: Int) => op(a, b)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment